Commit 73a8d436 authored by Gladys Forte's avatar Gladys Forte

change request models

parent be6d3606
...@@ -30,6 +30,16 @@ class GenerateCode(Enum): ...@@ -30,6 +30,16 @@ class GenerateCode(Enum):
DEPARTMENT = 'DEPARTMENT' DEPARTMENT = 'DEPARTMENT'
USER = 'USER' USER = 'USER'
NOTIFICATION = 'NOTIF' NOTIFICATION = 'NOTIF'
TEMPLATE = 'TMP'
TMP_APPROVER = 'TMPAPR'
TMP_STAKE = 'TMPSTK'
TMP_ATTACH = 'TMPATCH'
TMP_DETAIL = 'TMPDETAIL'
FORM = 'FRM'
FORM_APPROVER = 'FRMAPR'
FORM_STAKE = 'FRMSTK'
FORM_ATTACH = 'FRMATCH'
FORM_DETAIL = 'FRMDETAIL'
''' '''
......
# Generated by Django 2.2 on 2019-09-04 16:08
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0003_auto_20190903_1725'),
]
operations = [
migrations.CreateModel(
name='ChangeRequestFormHeader',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('requested_to_template_name', models.CharField(max_length=255)),
('requested_to_template_id', models.CharField(max_length=255)),
('requested_to_objective', models.CharField(blank=True, max_length=255, null=True)),
('requested_to_target_date', models.DateTimeField(blank=True, null=True)),
('requested_to_priority', models.CharField(max_length=255)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('form_code', models.CharField(max_length=255, unique=True)),
('cancel_date', models.DateTimeField(blank=True, null=True)),
('status', models.CharField(max_length=50)),
('company_desc', models.CharField(blank=True, max_length=255, null=True)),
('department_desc', models.CharField(blank=True, max_length=255, null=True)),
('requested_desc', models.CharField(blank=True, max_length=255, null=True)),
('old_form_code', models.CharField(blank=True, max_length=255, null=True)),
('requested_by_department', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='requested_by_department', to='entities.Department', to_field='code')),
('requested_by_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='requested_by_user', to=settings.AUTH_USER_MODEL, to_field='code')),
('requested_to_company', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.Company', to_field='code')),
('requested_to_department', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.Department', to_field='code')),
('requested_to_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_form_headers',
},
),
migrations.CreateModel(
name='ChangeRequestTemplateHeader',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('requested_to_template_name', models.CharField(max_length=255)),
('requested_to_template_id', models.CharField(max_length=255)),
('requested_to_objective', models.CharField(blank=True, max_length=255, null=True)),
('requested_to_target_date', models.DateTimeField(blank=True, null=True)),
('requested_to_priority', models.CharField(max_length=255)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('template_no', models.CharField(max_length=255, unique=True)),
('created_by_department', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='created_by_department', to='entities.Department', to_field='code')),
('created_by_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='created_by_user', to=settings.AUTH_USER_MODEL, to_field='code')),
('requested_to_company', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.Company', to_field='code')),
('requested_to_department', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.Department', to_field='code')),
('requested_to_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_template_headers',
},
),
migrations.CreateModel(
name='ChangeRequestTemplateStakeHolders',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_added', models.DateTimeField(blank=True, null=True)),
('delegation', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('template_no', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestTemplateHeader', to_field='template_no')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_template_stakeholders',
},
),
migrations.CreateModel(
name='ChangeRequestTemplateDetails',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('field_idx', models.CharField(max_length=255)),
('field_ref', models.CharField(max_length=255)),
('field_val', models.CharField(max_length=255)),
('field_props', models.CharField(max_length=255)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('template_no', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestTemplateHeader', to_field='template_no')),
],
options={
'db_table': 'change_request_template_details',
},
),
migrations.CreateModel(
name='ChangeRequestTemplateAttachments',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('upload_no', models.CharField(blank=True, max_length=255, null=True)),
('attachment_type', models.CharField(max_length=255)),
('attachment_name', models.CharField(max_length=255)),
('file_name', models.CharField(blank=True, max_length=255, null=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('file_upload', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('attachment_no', models.CharField(max_length=255, unique=True)),
('template_no', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestTemplateHeader', to_field='template_no')),
('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_template_attachments',
},
),
migrations.CreateModel(
name='ChangeRequestTemplateApprovers',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('level', models.CharField(blank=True, max_length=50, null=True)),
('delegation', models.CharField(max_length=50)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('template_no', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestTemplateHeader', to_field='template_no')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_template_approvers',
},
),
migrations.CreateModel(
name='ChangeRequestFormStakeHolders',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_added', models.DateTimeField(blank=True, null=True)),
('delegation', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('form_code', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestFormHeader', to_field='form_code')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_form_stakeholders',
},
),
migrations.AddField(
model_name='changerequestformheader',
name='template_no',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestTemplateHeader', to_field='template_no'),
),
migrations.CreateModel(
name='ChangeRequestFormDetails',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('field_idx', models.CharField(max_length=255)),
('field_ref', models.CharField(max_length=255)),
('field_val', models.CharField(max_length=255)),
('field_props', models.CharField(max_length=255)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('form_code', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestFormHeader', to_field='form_code')),
],
options={
'db_table': 'change_request_form_details',
},
),
migrations.CreateModel(
name='ChangeRequestFormAttachments',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('upload_no', models.CharField(blank=True, max_length=255, null=True)),
('attachment_type', models.CharField(max_length=255)),
('attachment_name', models.CharField(max_length=255)),
('file_name', models.CharField(blank=True, max_length=255, null=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('file_upload', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('form_code', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestFormHeader', to_field='form_code')),
('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_form_attachments',
},
),
migrations.CreateModel(
name='ChangeRequestFormApprovers',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('level', models.CharField(blank=True, max_length=50, null=True)),
('delegation', models.CharField(max_length=50)),
('created', models.DateTimeField(blank=True, null=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('code', models.CharField(max_length=255, unique=True)),
('remarks', models.CharField(blank=True, max_length=255, null=True)),
('form_code', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='entities.ChangeRequestFormHeader', to_field='form_code')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'change_request_form_approvers',
},
),
]
# Generated by Django 2.2 on 2019-09-04 16:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0004_auto_20190904_1608'),
]
operations = [
migrations.AddField(
model_name='changerequesttemplateapprovers',
name='action',
field=models.CharField(blank=True, max_length=50, null=True),
),
migrations.AddField(
model_name='changerequesttemplateapprovers',
name='date_sent',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='module',
name='component',
field=models.CharField(blank=True, max_length=255, null=True),
),
]
...@@ -59,6 +59,7 @@ class Module(AuditClass): ...@@ -59,6 +59,7 @@ class Module(AuditClass):
) )
parent = models.IntegerField() parent = models.IntegerField()
sort_id = models.IntegerField() sort_id = models.IntegerField()
component = models.CharField(max_length=255, null=True, blank=True)
class Meta: class Meta:
db_table = 'modules' db_table = 'modules'
...@@ -359,4 +360,279 @@ class Notification(models.Model): ...@@ -359,4 +360,279 @@ class Notification(models.Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
super(Notification, self).save(*args, **kwargs) super(Notification, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.NOTIFICATION.value, self.id) code = number_generator(enums.GenerateCode.NOTIFICATION.value, self.id)
Notification.objects.filter(id=self.id).update(code=code) Notification.objects.filter(id=self.id).update(code=code)
\ No newline at end of file
"""
**********************
*** CHANGE REQUEST TABLES ***
**********************
"""
class BaseHeader(models.Model):
# all user mean id_number on database
requested_to_company = models.ForeignKey(Company, on_delete=models.DO_NOTHING,
to_field='code')
requested_to_department = models.ForeignKey(Department, on_delete=models.DO_NOTHING,
to_field='code')
requested_to_user = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code')
requested_to_template_name = models.CharField(max_length=255)
requested_to_template_id = models.CharField(max_length=255)
requested_to_objective = models.CharField(max_length=255, blank=True, null=True)
requested_to_target_date = models.DateTimeField(blank=True, null=True)
requested_to_priority = models.CharField(max_length=255)
description = models.CharField(max_length=255, blank=True, null=True)
created = models.DateTimeField(blank=True, null=True)
deleted_at = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
class BaseApprover(models.Model):
level = models.CharField(max_length=50, blank=True, null=True)
user = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code')
delegation = models.CharField(max_length=50)
created = models.DateTimeField(blank=True, null=True)
deleted_at = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
class BaseStakeholder(models.Model):
user = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code')
date_added = models.DateTimeField(blank=True, null=True)
delegation = models.CharField(max_length=255, blank=True, null=True)
created = models.DateTimeField(blank=True, null=True)
deleted_at = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
class BaseAttachment(models.Model):
upload_no = models.CharField(max_length=255, blank=True, null=True)
attachment_type = models.CharField(max_length=255)
attachment_name = models.CharField(max_length=255)
file_name = models.CharField(max_length=255, blank=True, null=True)
description = models.CharField(max_length=255, blank=True, null=True)
uploaded_by = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code')
file_upload = models.CharField(max_length=255, blank=True, null=True)
created = models.DateTimeField(blank=True, null=True)
deleted_at = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
class BaseDetails(models.Model):
field_idx = models.CharField(max_length=255)
field_ref = models.CharField(max_length=255)
field_val = models.CharField(max_length=255)
field_props = models.CharField(max_length=255)
created = models.DateTimeField(blank=True, null=True)
deleted_at = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
'''
*********
TEMPLATES
*********
'''
class ChangeRequestTemplateHeader(BaseHeader):
template_no = models.CharField(unique=True, max_length=255)
created_by_user = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code',
related_name='created_by_user')
created_by_department = models.ForeignKey(Department, on_delete=models.DO_NOTHING,
to_field='code',
related_name='created_by_department')
class Meta:
db_table = 'change_request_template_headers'
def save(self, *args, **kwargs):
super(ChangeRequestTemplateHeader, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.TEMPLATE.value, self.id)
ChangeRequestTemplateHeader.objects.filter(id=self.id).update(template_no=code)
def delete(self):
self.deleted_at = datetime.utcnow
self.save()
class ChangeRequestTemplateApprovers(BaseApprover):
code = models.CharField(unique=True, max_length=255) # primary key
template_no = models.ForeignKey(ChangeRequestTemplateHeader, on_delete=models.DO_NOTHING,
to_field='template_no')
date_sent = models.DateTimeField(blank=True, null=True)
action = models.CharField(max_length=50, blank=True, null=True)
class Meta:
db_table = 'change_request_template_approvers'
def save(self, *args, **kwargs):
super(ChangeRequestTemplateApprovers, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.TMP_APPROVER.value, self.id)
ChangeRequestTemplateApprovers.objects.filter(id=self.id).update(code=code)
pass
class ChangeRequestTemplateStakeHolders(BaseStakeholder):
code = models.CharField(unique=True, max_length=255) # primary key
template_no = models.ForeignKey(ChangeRequestTemplateHeader, on_delete=models.DO_NOTHING,
to_field='template_no')
class Meta:
db_table = 'change_request_template_stakeholders'
def save(self, *args, **kwargs):
super(ChangeRequestTemplateStakeHolders, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.TMP_STAKE.value, self.id)
ChangeRequestTemplateStakeHolders.objects.filter(id=self.id).update(code=code)
pass
class ChangeRequestTemplateAttachments(BaseAttachment):
attachment_no = models.CharField(max_length=255, unique=True)
template_no = models.ForeignKey(ChangeRequestTemplateHeader, on_delete=models.DO_NOTHING,
to_field='template_no')
class Meta:
db_table = 'change_request_template_attachments'
def save(self, *args, **kwargs):
super(ChangeRequestTemplateAttachments, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.TMP_ATTACH.value, self.id)
ChangeRequestTemplateAttachments.objects.filter(id=self.id).update(attachment_no=code)
pass
class ChangeRequestTemplateDetails(BaseDetails):
code = models.CharField(max_length=255, unique=True)
template_no = models.ForeignKey(ChangeRequestTemplateHeader, on_delete=models.DO_NOTHING,
to_field='template_no')
class Meta:
db_table = 'change_request_template_details'
def save(self, *args, **kwargs):
super(ChangeRequestTemplateDetails, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.TMP_DETAIL.value, self.id)
ChangeRequestTemplateDetails.objects.filter(id=self.id).update(code=code)
pass
'''
*****
FORMS
*****
'''
class ChangeRequestFormHeader(BaseHeader):
form_code = models.CharField(max_length=255, unique=True)
requested_by_user = models.ForeignKey(User, on_delete=models.DO_NOTHING,
to_field='code',
related_name='requested_by_user')
cancel_date = models.DateTimeField(null=True, blank=True)
requested_by_department = models.ForeignKey(Department, on_delete=models.DO_NOTHING,
to_field='code',
related_name='requested_by_department')
template_no = models.ForeignKey(ChangeRequestTemplateHeader, on_delete=models.DO_NOTHING,
to_field='template_no')
status = models.CharField(max_length=50)
company_desc = models.CharField(max_length=255, null=True, blank=True)
department_desc = models.CharField(max_length=255, null=True, blank=True)
requested_desc = models.CharField(max_length=255, null=True, blank=True)
old_form_code = models.CharField(max_length=255, null=True, blank=True)
class Meta:
db_table = 'change_request_form_headers'
def save(self, *args, **kwargs):
super(ChangeRequestFormHeader, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM.value, self.id)
ChangeRequestFormHeader.objects.filter(id=self.id).update(form_code=code)
class ChangeRequestFormApprovers(BaseApprover):
code = models.CharField(unique=True, max_length=255) # primary key
form_code = models.ForeignKey(ChangeRequestFormHeader, on_delete=models.DO_NOTHING,
to_field='form_code')
remarks = models.CharField(max_length=255, null=True, blank=True)
class Meta:
db_table = 'change_request_form_approvers'
def save(self, *args, **kwargs):
super(ChangeRequestFormApprovers, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM_APPROVER.value, self.id)
ChangeRequestFormApprovers.objects.filter(id=self.id).update(code=code)
pass
class ChangeRequestFormDetails(BaseDetails):
code = models.CharField(unique=True, max_length=255) # primary key
form_code = models.ForeignKey(ChangeRequestFormHeader, on_delete=models.DO_NOTHING,
to_field='form_code')
class Meta:
db_table = 'change_request_form_details'
def save(self, *args, **kwargs):
super(ChangeRequestFormDetails, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM_DETAIL.value, self.id)
ChangeRequestFormDetails.objects.filter(id=self.id).update(code=code)
pass
class ChangeRequestFormStakeHolders(BaseStakeholder):
code = models.CharField(unique=True, max_length=255) # primary key
form_code = models.ForeignKey(ChangeRequestFormHeader, on_delete=models.DO_NOTHING,
to_field='form_code')
class Meta:
db_table = 'change_request_form_stakeholders'
def save(self, *args, **kwargs):
super(ChangeRequestFormStakeHolders, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM_STAKE.value, self.id)
ChangeRequestFormStakeHolders.objects.filter(id=self.id).update(code=code)
pass
class ChangeRequestFormAttachments(BaseAttachment):
code = models.CharField(unique=True, max_length=255) # primary key
form_code = models.ForeignKey(ChangeRequestFormHeader, on_delete=models.DO_NOTHING,
to_field='form_code')
class Meta:
db_table = 'change_request_form_attachments'
def save(self, *args, **kwargs):
super(ChangeRequestFormAttachments, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM_ATTACH.value, self.id)
ChangeRequestFormAttachments.objects.filter(id=self.id).update(code=code)
pass
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment