diff --git a/db.sqlite3 b/db.sqlite3 index 7d20d18..f8dab28 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/process/admin.py b/process/admin.py index b18c799..73cf816 100644 --- a/process/admin.py +++ b/process/admin.py @@ -2,8 +2,13 @@ from django.contrib import admin from process.models import Approval, Review, GatherComments, Knowledge, Task + +class TaskAdmin(admin.ModelAdmin): + list_display = ('assigned_to', 'process',) + + admin.site.register(Approval) admin.site.register(Review) admin.site.register(GatherComments) admin.site.register(Knowledge) -admin.site.register(Task) +admin.site.register(Task, TaskAdmin) diff --git a/process/migrations/0003_task_status.py b/process/migrations/0003_task_status.py new file mode 100644 index 0000000..c254f03 --- /dev/null +++ b/process/migrations/0003_task_status.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.5 on 2017-09-20 13:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('process', '0002_process_process_type'), + ] + + operations = [ + migrations.AddField( + model_name='task', + name='status', + field=models.IntegerField(choices=[(1, 'Created'), (3, 'Completed')], default=1), + preserve_default=False, + ), + ] diff --git a/process/models.py b/process/models.py index f737f31..13f219f 100644 --- a/process/models.py +++ b/process/models.py @@ -13,12 +13,28 @@ class Process(models.Model): self.process_type = self.PROCESS_TYPE def __str__(self): - return self.process_type + return '{}: {}'.format(self.process_type, self.document_version) + + def create_task(self, assigned_to): + task, created = Task.objects.get_or_create(status=1, assigned_to=assigned_to, process=self) + + if created: + task.save() + + def allow_tasks_delegation(self): + return True + + +TASK_STATUS = ( + (1, 'Created'), + (3, 'Completed') +) class Task(models.Model): assigned_to = models.EmailField() process = models.ForeignKey(Process) + status = models.IntegerField(choices=TASK_STATUS) def __str__(self): return '{} - {}'.format(self.process, self.assigned_to) @@ -41,3 +57,6 @@ class GatherComments(Process): class Knowledge(Process): PROCESS_TYPE = 'Knowledge' + + def allow_tasks_delegation(self): + return False