chore: update to cater for recent dev changes and class inheritance
!31 !40 !42
This commit is contained in:
@ -2,9 +2,14 @@ from django import forms
|
||||
from django.db.models import Q
|
||||
|
||||
from app import settings
|
||||
|
||||
from core.forms.common import CommonModelForm
|
||||
|
||||
from project_management.models.projects import Project
|
||||
|
||||
class ProjectForm(forms.ModelForm):
|
||||
|
||||
|
||||
class ProjectForm(CommonModelForm):
|
||||
|
||||
prefix = 'project'
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-17 18:45
|
||||
# Generated by Django 5.0.7 on 2024-07-16 05:57
|
||||
|
||||
import access.fields
|
||||
import access.models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@ -12,7 +13,8 @@ class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('access', '0005_organization_manager_organization_model_notes'),
|
||||
('access', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
@ -31,7 +33,10 @@ class Migration(migrations.Migration):
|
||||
('planned_finish_date', models.DateTimeField(blank=True, help_text='When the project is planned to be finished by.', null=True, verbose_name='Planned Finish Date')),
|
||||
('real_start_date', models.DateTimeField(blank=True, help_text='When work commenced on the project.', null=True, verbose_name='Real Start Date')),
|
||||
('real_finish_date', models.DateTimeField(blank=True, help_text='When work was completed for the project', null=True, verbose_name='Real Finish Date')),
|
||||
('manager_team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='access.team')),
|
||||
('manager_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='manager_user', to=settings.AUTH_USER_MODEL)),
|
||||
('organization', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists])),
|
||||
('team_members', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Project',
|
||||
@ -39,4 +44,32 @@ class Migration(migrations.Migration):
|
||||
'ordering': ['code', 'name'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ProjectTask',
|
||||
fields=[
|
||||
('is_global', models.BooleanField(default=False)),
|
||||
('id', models.AutoField(primary_key=True, serialize=False, unique=True)),
|
||||
('created', access.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False)),
|
||||
('modified', access.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False)),
|
||||
('name', models.CharField(max_length=50, unique=True)),
|
||||
('slug', access.fields.AutoSlugField()),
|
||||
('description', models.TextField(blank=True, default=None, null=True)),
|
||||
('code', models.CharField(help_text='Project Code', max_length=25, unique=True)),
|
||||
('planned_start_date', models.DateTimeField(blank=True, help_text='When the task is planned to have been started by.', null=True, verbose_name='Planned Start Date')),
|
||||
('planned_finish_date', models.DateTimeField(blank=True, help_text='When the task is planned to be finished by.', null=True, verbose_name='Planned Finish Date')),
|
||||
('real_start_date', models.DateTimeField(blank=True, help_text='When work commenced on the task.', null=True, verbose_name='Real Start Date')),
|
||||
('real_finish_date', models.DateTimeField(blank=True, help_text='When work was completed for the task', null=True, verbose_name='Real Finish Date')),
|
||||
('milestone', models.BooleanField(default=False, help_text='Is this task a milestone?')),
|
||||
('organization', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists])),
|
||||
('parent_task', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='project_management.projecttask')),
|
||||
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='project_management.project')),
|
||||
('task_members', models.ManyToManyField(help_text='User whom is responsible for completing the task.', related_name='task_members', to=settings.AUTH_USER_MODEL, verbose_name='Team Members')),
|
||||
('task_owner', models.ForeignKey(blank=True, help_text='User whom is considered the task owner.', null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Task Owner')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Project Task',
|
||||
'verbose_name_plural': 'Project Tasks',
|
||||
'ordering': ['code', 'name'],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
@ -1,44 +0,0 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-17 20:29
|
||||
|
||||
import access.fields
|
||||
import access.models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('access', '0005_organization_manager_organization_model_notes'),
|
||||
('project_management', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ProjectTask',
|
||||
fields=[
|
||||
('is_global', models.BooleanField(default=False)),
|
||||
('id', models.AutoField(primary_key=True, serialize=False, unique=True)),
|
||||
('created', access.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False)),
|
||||
('modified', access.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False)),
|
||||
('name', models.CharField(max_length=50, unique=True)),
|
||||
('slug', access.fields.AutoSlugField()),
|
||||
('description', models.TextField(blank=True, default=None, null=True)),
|
||||
('code', models.CharField(help_text='Project Code', max_length=25, unique=True)),
|
||||
('planned_start_date', models.DateTimeField(blank=True, help_text='When the task is planned to have been started by.', null=True, verbose_name='Planned Start Date')),
|
||||
('planned_finish_date', models.DateTimeField(blank=True, help_text='When the task is planned to be finished by.', null=True, verbose_name='Planned Finish Date')),
|
||||
('real_start_date', models.DateTimeField(blank=True, help_text='When work commenced on the task.', null=True, verbose_name='Real Start Date')),
|
||||
('real_finish_date', models.DateTimeField(blank=True, help_text='When work was completed for the task', null=True, verbose_name='Real Finish Date')),
|
||||
('milestone', models.BooleanField(default=False, help_text='Is this task a milestone?')),
|
||||
('organization', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists])),
|
||||
('parent_task', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='project_management.projecttask')),
|
||||
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='project_management.project')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Project Task',
|
||||
'verbose_name_plural': 'Project Tasks',
|
||||
'ordering': ['code', 'name'],
|
||||
},
|
||||
),
|
||||
]
|
@ -1,42 +0,0 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-17 23:06
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('access', '0005_organization_manager_organization_model_notes'),
|
||||
('project_management', '0002_projecttask'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='project',
|
||||
name='manager_team',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='access.team'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='project',
|
||||
name='manager_user',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='manager_user', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='project',
|
||||
name='team_members',
|
||||
field=models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='projecttask',
|
||||
name='task_members',
|
||||
field=models.ManyToManyField(help_text='User whom is responsible for completing the task.', related_name='task_members', to=settings.AUTH_USER_MODEL, verbose_name='Team Members'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='projecttask',
|
||||
name='task_owner',
|
||||
field=models.ForeignKey(blank=True, help_text='User whom is considered the task owner.', null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Task Owner'),
|
||||
),
|
||||
]
|
@ -4,7 +4,7 @@ from access.fields import *
|
||||
from access.models import TenancyObject
|
||||
|
||||
|
||||
class ProjectCommonFields(TenancyObject, models.Model):
|
||||
class ProjectCommonFields(TenancyObject):
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
@ -10,7 +10,7 @@ from core.mixin.history_save import SaveHistory
|
||||
|
||||
|
||||
|
||||
class ProjectTask(ProjectCommonFieldsName, SaveHistory):
|
||||
class ProjectTask(ProjectCommonFieldsName):
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -8,7 +8,7 @@ from core.mixin.history_save import SaveHistory
|
||||
from .project_common import ProjectCommonFieldsName
|
||||
|
||||
|
||||
class Project(ProjectCommonFieldsName, SaveHistory):
|
||||
class Project(ProjectCommonFieldsName):
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -11,6 +11,7 @@ from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.comment import AddNoteForm
|
||||
from core.models.notes import Notes
|
||||
from core.views.common import AddView, ChangeView, DeleteView, DisplayView, IndexView
|
||||
|
||||
from project_management.forms.project import ProjectForm
|
||||
from project_management.models.projects import Project
|
||||
@ -19,7 +20,7 @@ from settings.models.user_settings import UserSettings
|
||||
|
||||
|
||||
|
||||
class ProjectIndex(OrganizationPermission, generic.ListView):
|
||||
class ProjectIndex(IndexView):
|
||||
|
||||
model = Project
|
||||
|
||||
@ -52,7 +53,7 @@ class ProjectIndex(OrganizationPermission, generic.ListView):
|
||||
|
||||
|
||||
|
||||
class ProjectView(OrganizationPermission, generic.UpdateView):
|
||||
class ProjectView(ChangeView):
|
||||
|
||||
model = Project
|
||||
|
||||
@ -108,7 +109,7 @@ class ProjectView(OrganizationPermission, generic.UpdateView):
|
||||
|
||||
|
||||
|
||||
class ProjectAdd(generic.CreateView):
|
||||
class ProjectAdd(AddView):
|
||||
|
||||
form_class = ProjectForm
|
||||
|
||||
@ -145,7 +146,7 @@ class ProjectAdd(generic.CreateView):
|
||||
|
||||
|
||||
|
||||
class ProjectChange(generic.UpdateView):
|
||||
class ProjectChange(ChangeView):
|
||||
|
||||
form_class = ProjectForm
|
||||
|
||||
@ -177,7 +178,7 @@ class ProjectChange(generic.UpdateView):
|
||||
|
||||
|
||||
|
||||
class ProjectDelete(OrganizationPermission, generic.DeleteView):
|
||||
class ProjectDelete(DeleteView):
|
||||
model = Project
|
||||
|
||||
permission_required = [
|
||||
|
@ -11,6 +11,7 @@ from access.mixin import OrganizationPermission
|
||||
|
||||
from core.forms.comment import AddNoteForm
|
||||
from core.models.notes import Notes
|
||||
from core.views.common import AddView, ChangeView, DeleteView, DisplayView, IndexView
|
||||
|
||||
from project_management.models.project_tasks import ProjectTask
|
||||
|
||||
@ -18,7 +19,7 @@ from settings.models.user_settings import UserSettings
|
||||
|
||||
|
||||
|
||||
class ProjectTaskAdd(generic.CreateView):
|
||||
class ProjectTaskAdd(AddView):
|
||||
|
||||
# form_class = form_class = ProjectTaskForm
|
||||
|
||||
@ -55,7 +56,7 @@ class ProjectTaskAdd(generic.CreateView):
|
||||
|
||||
|
||||
|
||||
class ProjectTaskChange(OrganizationPermission, generic.UpdateView):
|
||||
class ProjectTaskChange(ChangeView):
|
||||
|
||||
# form_class = ProjectTaskForm
|
||||
|
||||
@ -87,7 +88,7 @@ class ProjectTaskChange(OrganizationPermission, generic.UpdateView):
|
||||
|
||||
|
||||
|
||||
class ProjectTaskView(OrganizationPermission, generic.UpdateView):
|
||||
class ProjectTaskView(ChangeView):
|
||||
|
||||
model = ProjectTask
|
||||
|
||||
@ -152,7 +153,7 @@ class ProjectTaskView(OrganizationPermission, generic.UpdateView):
|
||||
|
||||
|
||||
|
||||
class ProjectTaskDelete(OrganizationPermission, generic.DeleteView):
|
||||
class ProjectTaskDelete(DeleteView):
|
||||
model = ProjectTask
|
||||
|
||||
permission_required = [
|
||||
|
Reference in New Issue
Block a user