Commit 5b7beb73 authored by Gladys Forte's avatar Gladys Forte

Merge branch 'product-staging' into 'product-demo'

Product staging

See merge request rms/Backend/api-main-service!1029
parents 05fa1631 dfef78c8
from app.entities.models import AMSAsset
from rest_framework import serializers
class AMSAssetSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['asset_type'] = instance.asset_type.name
ret['in_qty'] = instance.ams_asset_to_assetdetail.filter(status='In-Store').count()
ret['out_qty'] = instance.ams_asset_to_assetdetail.filter(status='Deployed').count()
ret['unavailable'] = instance.ams_asset_to_assetdetail.filter(
status__in=['Faulty', 'Returned', 'Written Off']
).count()
ret['created_by'] = instance.created_by.name
return ret
class Meta:
model = AMSAsset
fields = '__all__'
from django_filters import rest_framework as filters
from app.entities.models import AMSAsset
class AMSAssetFilter(filters.FilterSet):
class Meta:
model = AMSAsset
fields = '__all__'
from app.entities.models import AMSAsset, AMSAssetType
from rest_framework import viewsets, status
from rest_framework.response import Response
from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.ams.asset.table_filters import AMSAssetFilter
from app.applicationlayer.ams.asset_stock.serializers import AMSAssetStockSerializer
from app.applicationlayer.ams.asset import serializers
from django.db import transaction
from app.applicationlayer.utils import(
CustomPagination, status_message_response
)
from rest_framework.decorators import action
from app.applicationlayer.utils import log_save, enums
from app.applicationlayer.utils import model_to_dict
from django.db import IntegrityError
from django.db.models import Q
from app.helper.decorators import AssetValidation
class AMSAssetViewSet(viewsets.ModelViewSet):
queryset = AMSAsset.objects.all()
serializer_class = serializers.AMSAssetSerializer
pagination_class = CustomPagination
lookup_field = 'code'
filter_backends = (
DjangoFilterBackend, SearchFilter,
OrderingFilter
)
ordering_fields = '__all__'
search_filter = (
'code',
'name',
'asset_type__name'
)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset()).filter(is_active=True)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Asset found!',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@AssetValidation
@transaction.atomic
def create(self, request, *args, **kwargs):
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(data=form)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
message = status_message_response(
201, 'success',
'New Asset created', serializer.data
)
return Response(
message
)
@AssetValidation
@transaction.atomic
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAsset.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
if instance.ams_asset_to_assetdetail.count() > 0:
message = status_message_response(
400, 'Failed',
'This Asset had an Asset Stocks', model_to_dict(instance)
)
return Response(
message,
status=status.HTTP_400_BAD_REQUEST
)
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.DELETED.value,
enums.LogEntitiesEnum.AMSAsset.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAsset.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Asset restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@action(methods=['GET'], detail=True,
url_path='stock-list', url_name='stock_list')
def stock_list(self, request, code):
self.serializer_class = AMSAssetStockSerializer
queryset = self.get_object().ams_asset_to_assetdetail.all()
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Assets found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Assets found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
\ No newline at end of file
from app.entities import models from app.entities import models
from rest_framework import serializers from rest_framework import serializers
from app.applicationlayer.utils import model_to_dict from app.applicationlayer.utils import model_to_dict
from django.db.models import Q
class AssetGroupSerializerList(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['asset_type_count'] = instance.ams_asset_to_assetgroup.values('asset__asset_type').distinct().count()
ret['asset_count'] = instance.ams_asset_to_assetgroup.values('asset').distinct().count()
ret['asset_stock_count'] = instance.ams_asset_to_assetgroup.count()
return ret
class Meta:
model = models.AMSAssetGroup
fields = '__all__'
read_only_fields = ['created', 'code']
class AssetGroupSerializer(serializers.ModelSerializer): class AssetGroupSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['asset_type_count'] = instance.ams_asset_to_assetgroup.values('asset__asset_type').distinct().count()
ret['asset_count'] = instance.ams_asset_to_assetgroup.values('asset').distinct().count()
ret['asset_stock_count'] = instance.ams_asset_to_assetgroup.count()
ret['own'] = instance.ams_asset_to_assetgroup.filter(acquisition_type='Owned').count()
ret['loan'] = instance.ams_asset_to_assetgroup.filter(acquisition_type='Loan').count()
ret['in_qty'] = instance.ams_asset_to_assetgroup.filter(status='In-Store').count()
ret['out_qty'] = instance.ams_asset_to_assetgroup.filter(status='Deployed').count()
ret['unavailable'] = instance.ams_asset_to_assetgroup.filter(
status__in=['Faulty', 'Returned', 'Written Off']
).count()
ret['in_store'] = instance.ams_asset_to_assetgroup.filter(status='In-Store').count()
ret['deployed'] = instance.ams_asset_to_assetgroup.filter(status='Deployed').count()
ret['returned'] = instance.ams_asset_to_assetgroup.filter(status='Returned').count()
ret['written_off'] = instance.ams_asset_to_assetgroup.filter(status='Written Off').count()
ret['faulty'] = instance.ams_asset_to_assetgroup.filter(status='Faulty').count()
return ret
class Meta: class Meta:
model = models.AssetGroup model = models.AMSAssetGroup
fields = '__all__' fields = '__all__'
read_only_fields = ['created', 'code'] read_only_fields = ['created', 'code']
\ No newline at end of file
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from app.entities.models import AssetGroup from app.entities.models import AMSAssetGroup
class AssetGroupFilter(filters.FilterSet): class AssetGroupFilter(filters.FilterSet):
class Meta: class Meta:
model = AssetGroup model = AMSAssetGroup
fields = '__all__' fields = '__all__'
\ No newline at end of file
...@@ -11,24 +11,31 @@ from app.applicationlayer.utils import ( ...@@ -11,24 +11,31 @@ from app.applicationlayer.utils import (
) )
from app.helper import decorators from app.helper import decorators
from django.db import transaction from django.db import transaction
from rest_framework.decorators import action
from app.applicationlayer.utils import log_save, enums
from app.applicationlayer.utils import model_to_dict
from app.helper.decorators import AssetGroupValidation
from django.db import IntegrityError
class AssetGroupViewset(viewsets.ModelViewSet): class AssetGroupViewset(viewsets.ModelViewSet):
queryset = models.AMSAssetGroup.objects.all()
queryset = models.AssetGroup.objects.all()
serializer_class = serializers.AssetGroupSerializer serializer_class = serializers.AssetGroupSerializer
pagination_class = CustomPagination pagination_class = CustomPagination
lookup_field = "code" lookup_field = "code"
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter) filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
ordering_fields = '__all__' ordering_fields = '__all__'
search_fields = ( search_fields = (
'code', 'name', 'asset_group' 'code', 'name'
) )
@AssetGroupValidation
@transaction.atomic @transaction.atomic
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=form)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
self.perform_create(serializer) self.perform_create(serializer)
...@@ -41,8 +48,39 @@ class AssetGroupViewset(viewsets.ModelViewSet): ...@@ -41,8 +48,39 @@ class AssetGroupViewset(viewsets.ModelViewSet):
message message
) )
# @AssetGroupValidation
@transaction.atomic
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAssetGroup.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this record it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.serializer_class = serializers.AssetGroupSerializerList
queryset = self.filter_queryset(self.get_queryset()) queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
...@@ -75,6 +113,91 @@ class AssetGroupViewset(viewsets.ModelViewSet): ...@@ -75,6 +113,91 @@ class AssetGroupViewset(viewsets.ModelViewSet):
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
instance = self.get_object() instance = self.get_object()
self.perform_destroy(instance) if instance.ams_asset_to_assetgroup.count() > 0:
message = status_message_response(
400, 'Failed',
'This Asset Group had an Asset Stocks', model_to_dict(instance)
)
return Response(
message,
status=status.HTTP_400_BAD_REQUEST
)
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.DELETED.value,
enums.LogEntitiesEnum.AMSAssetGroup.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT) return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Asset Groups found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAssetGroup.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Asset Group restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from app.entities.models import AMSAssetStock
from rest_framework import serializers
class AMSAssetStockSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['asset_group'] = instance.asset_group.name
ret['asset'] = instance.asset.name
ret['asset_type'] = instance.asset.asset_type.name
ret['manager'] = instance.manager.name
ret['user_client'] = instance.user_client.name
# ret['created_by'] = {
# "name": instance.created_by.name,
# "code": instance.created_by.code
# }
return ret
class Meta:
model = AMSAssetStock
fields = '__all__'
\ No newline at end of file
from django_filters import rest_framework as filters
from app.entities.models import AMSAssetStock
class AMSAssetStockFilter(filters.FilterSet):
class Meta:
model = AMSAssetStock
fields = '__all__'
\ No newline at end of file
from app.entities.models import AMSAssetStock
from rest_framework import viewsets, status
from rest_framework.response import Response
from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.ams.asset_stock.table_filters import AMSAssetStockFilter
from app.applicationlayer.ams.asset_stock import serializers
from django.db import transaction
from app.applicationlayer.utils import(
CustomPagination, status_message_response
)
from rest_framework.decorators import action
from app.applicationlayer.utils import log_save, enums
from app.applicationlayer.utils import model_to_dict
from django.db import IntegrityError
from django.db.models import Q
from app.helper.decorators import AssetStockValidation
from django.db.models import Count
class AMSAssetStockViewSet(viewsets.ModelViewSet):
queryset = AMSAssetStock.objects.all()
serializer_class = serializers.AMSAssetStockSerializer
pagination_class = CustomPagination
lookup_field = 'code'
filter_backends = (
DjangoFilterBackend, SearchFilter,
OrderingFilter
)
ordering_fields = '__all__'
search_filter = (
'code',
'name',
'asset_group__name',
'asset__name',
'asset_type__name',
)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset()).filter(is_active=True)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Asset Stock list found!',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(detail=False,
methods=['get'],
url_path='dashboard',
name="Dashboard Summary")
def dashboard_asset(self, request):
in_store = self.queryset.filter(
status__iexact='In-Store'
).count()
deployed = self.queryset.filter(
status__iexact='Deployed'
).count()
returned = self.queryset.filter(
status__iexact='Returned'
).count()
written_off = self.queryset.filter(
status__iexact='Written Off'
).count()
faulty = self.queryset.filter(
status__iexact='Faulty'
).count()
in_qty = self.queryset.filter(
status__iexact='In-Store'
).count()
out_qty = self.queryset.filter(
status__iexact='Deployed'
).count()
unavailable = self.queryset.filter(
status__iexact=['Faulty', 'Returned', 'Written Off']
).count()
top_asset_groups = self.queryset.values('asset_group__name', 'asset_group', 'asset').annotate(
asset_type_count=Count('asset__asset_type'),
asset_count=Count('asset'),
asset_stock_count=Count('asset_group')).order_by('-asset_group')
recent_reports = 0
message = {
'in_store': in_store,
'deployed': deployed,
'returned': returned,
'written_off': written_off,
'faulty': faulty,
'in_qty': in_qty,
'out_qty': out_qty,
'unavailable': unavailable,
'top_asset_groups': top_asset_groups,
'recent_reports': recent_reports,
'code': 200,
'status': 'success',
'message': 'Dashboard Summary'
}
return Response(message, status=status.HTTP_200_OK)
@AssetStockValidation
@transaction.atomic
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReport.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
@AssetStockValidation
@transaction.atomic
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
message = status_message_response(
201, 'success',
'New Asset Stock created', serializer.data
)
return Response(
message
)
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAssetStock.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Asset Stocks found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAssetStock.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Asset Stock restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from app.entities import models
from rest_framework import serializers
from app.applicationlayer.utils import model_to_dict
class AssetTypeSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
assets = instance.ams_asset_type.select_related()
# assets1 = instance.ams_asset_type.count()
# asset_stock1 = instance.ams_asset_type.values('')
# ams_asset_to_assetdetail
# print(assets1)
ams_stock_counter = 0
for asset in assets:
ams_stock_counter = ams_stock_counter + models.AMSAsset.objects.get(code=asset.code).ams_asset_to_assetdetail.count()
ret['asset_count'] = assets.count()
ret['asset_stock_count'] = ams_stock_counter
return ret
class Meta:
model = models.AMSAssetType
fields = '__all__'
read_only_fields = ['created', 'code']
\ No newline at end of file
from django_filters import rest_framework as filters
from app.entities.models import AMSAssetType
class AssetTypeFilter(filters.FilterSet):
class Meta:
model = AMSAssetType
fields = '__all__'
\ No newline at end of file
from app.entities import models
from rest_framework import viewsets, status
from rest_framework.response import Response
from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.ams.asset_type.table_filters import AssetTypeFilter
from app.applicationlayer.ams.asset_type import serializers
from app.applicationlayer.utils import (
CustomPagination, status_message_response
)
from app.helper import decorators
from django.db import transaction
from rest_framework.decorators import action
from app.applicationlayer.utils import model_to_dict
from app.applicationlayer.utils import log_save, enums
from app.applicationlayer.utils import model_to_dict
from app.helper.decorators import AssetTypeValidation
from django.db import IntegrityError
class AssetTypeViewset(viewsets.ModelViewSet):
queryset = models.AMSAssetType.objects.all()
serializer_class = serializers.AssetTypeSerializer
pagination_class = CustomPagination
lookup_field = "code"
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
ordering_fields = '__all__'
search_fields = (
'code', 'name'
)
@AssetTypeValidation
@transaction.atomic
def create(self, request, *args, **kwargs):
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(data=form)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
message = status_message_response(
201, 'success',
'New Asset Type created', serializer.data
)
return Response(
message
)
# @AssetTypeValidation
@transaction.atomic
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAsset.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this record it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Asset Types found!',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
if instance.ams_asset_type.count() > 0:
message = status_message_response(
400, 'Failed',
'This Asset Type had an Assets', model_to_dict(instance)
)
return Response(
message,
status=status.HTTP_400_BAD_REQUEST
)
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.DELETED.value,
enums.LogEntitiesEnum.AMSAssetType.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Asset Types found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSAssetType.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Asset Type restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
\ No newline at end of file
from app.entities import models
from rest_framework import serializers
from app.applicationlayer.utils import model_to_dict
class AMSReportSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['created_by'] = instance.created_by.name
ret['report_type'] = instance.report_type.name
ret['unique_identifier'] = instance.asset_stock.unique_identifier
ret['asset'] = instance.asset_stock.asset.name
ret['asset_type'] = instance.asset_stock.asset.asset_type.name
del ret['asset_stock']
return ret
class Meta:
model = models.AMSReport
fields = '__all__'
\ No newline at end of file
from django_filters import rest_framework as filters
from app.entities.models import AMSReport
class AMSReportFilter(filters.FilterSet):
class Meta:
model = AMSReport
fields = '__all__'
\ No newline at end of file
from app.entities import models
from rest_framework import viewsets, status
from rest_framework.response import Response
from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.ams.report.table_filters import AMSReportFilter
from app.applicationlayer.ams.report import serializers
from app.applicationlayer.utils import (
CustomPagination, status_message_response
)
from app.helper import decorators
from django.db import transaction
from app.applicationlayer.utils import model_to_dict
from app.applicationlayer.utils import log_save, enums
from django.db import IntegrityError
from rest_framework.decorators import action
class AMSReportViewset(viewsets.ModelViewSet):
queryset = models.AMSReport.objects.all()
serializer_class = serializers.AMSReportSerializer
pagination_class = CustomPagination
lookup_field = "code"
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
ordering_fields = '__all__'
search_fields = (
'code', 'name'
)
@transaction.atomic
def create(self, request, *args, **kwargs):
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(data=form)
# serializer.is_valid(raise_exception=True)
if serializer.is_valid(raise_exception=True):
serializer.save(created_by=self.request.user)
self.perform_create(serializer)
message = status_message_response(
201, 'success',
'New Report created', serializer.data
)
return Response(
message
)
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReport.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
print(e)
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset()).filter(is_active=True)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Report found!',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReport.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
self.serializer_class = serializers.AMSReportSerializer
queryset = self.filter_queryset(self.queryset).filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Report found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReport.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Report restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from app.entities import models
from rest_framework import serializers
from app.applicationlayer.utils import model_to_dict
class AMSReportTypeSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['created_by'] = instance.created_by.name
return ret
class Meta:
model = models.AMSReportType
fields = '__all__'
\ No newline at end of file
from django_filters import rest_framework as filters
from app.entities.models import AMSReportType
class AMSReportTypeFilter(filters.FilterSet):
class Meta:
model = AMSReportType
fields = '__all__'
\ No newline at end of file
from app.entities import models
from rest_framework import viewsets, status
from rest_framework.response import Response
from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.ams.report_type.table_filters import AMSReportTypeFilter
from app.applicationlayer.ams.report_type import serializers
from app.applicationlayer.utils import (
CustomPagination, status_message_response
)
from app.helper import decorators
from django.db import transaction
from app.applicationlayer.utils import model_to_dict
from app.applicationlayer.utils import log_save, enums
from django.db import IntegrityError
from rest_framework.decorators import action
class AMSReportTypeViewset(viewsets.ModelViewSet):
queryset = models.AMSReportType.objects.all()
serializer_class = serializers.AMSReportTypeSerializer
pagination_class = CustomPagination
lookup_field = "code"
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
ordering_fields = '__all__'
search_fields = (
'code', 'name'
)
@transaction.atomic
def create(self, request, *args, **kwargs):
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(data=form)
# serializer.is_valid(raise_exception=True)
if serializer.is_valid(raise_exception=True):
serializer.save(created_by=self.request.user)
self.perform_create(serializer)
message = status_message_response(
201, 'success',
'New Report Type created', serializer.data
)
return Response(
message
)
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReportType.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
print(e)
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.queryset).filter(is_active=True)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Report Types found!',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
instance.is_active = False
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReportType.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
self.serializer_class = serializers.AMSReportTypeSerializer
queryset = self.filter_queryset(self.queryset).filter(is_active=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Report type found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, code=None):
try:
instance = self.get_object()
instance.is_active = True
instance.save()
new_instance = model_to_dict(instance)
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReportType.value,
new_instance['id'],
new_instance,
''
)
message = status_message_response(
200, 'success',
'Archived Report Type restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
...@@ -6,11 +6,21 @@ from rest_framework.urlpatterns import format_suffix_patterns ...@@ -6,11 +6,21 @@ from rest_framework.urlpatterns import format_suffix_patterns
from app.applicationlayer.ams.asset_group import views as assetgroup from app.applicationlayer.ams.asset_group import views as assetgroup
from app.applicationlayer.ams.ams_privilege import views as amsprivilege from app.applicationlayer.ams.ams_privilege import views as amsprivilege
from app.applicationlayer.ams.ams_user_type.views import AMSUserTypeViewSet from app.applicationlayer.ams.ams_user_type.views import AMSUserTypeViewSet
from app.applicationlayer.ams.asset_type import views as assettype
from app.applicationlayer.ams.asset.views import AMSAssetViewSet
from app.applicationlayer.ams.asset_stock.views import AMSAssetStockViewSet
from app.applicationlayer.ams.report_type.views import AMSReportTypeViewset
from app.applicationlayer.ams.report.views import AMSReportViewset
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register(r'asset-group', assetgroup.AssetGroupViewset) router.register(r'asset-group', assetgroup.AssetGroupViewset)
router.register(r'asset-type', assettype.AssetTypeViewset)
router.register(r'ams-privilege', amsprivilege.AMSPrivilegeViewSet) router.register(r'ams-privilege', amsprivilege.AMSPrivilegeViewSet)
router.register(r'asset', AMSAssetViewSet)
router.register(r'asset-stock', AMSAssetStockViewSet)
router.register(r'report-type', AMSReportTypeViewset)
router.register(r'report', AMSReportViewset)
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), path('', include(router.urls)),
......
...@@ -111,7 +111,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -111,7 +111,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
"requested_to_user__name", "requested_to_template_name", "requested_to_user__name", "requested_to_template_name",
"requested_to_objective", "requested_to_priority", "description" "requested_to_objective", "requested_to_priority", "description"
) )
# comment
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.serializer_class = ChangeRequestFormHeaderSerializerList self.serializer_class = ChangeRequestFormHeaderSerializerList
...@@ -236,7 +236,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -236,7 +236,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
'message': 'Dashboard Summary' 'message': 'Dashboard Summary'
} }
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
@action(detail=False, @action(detail=False,
methods=['get'], methods=['get'],
...@@ -752,6 +752,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -752,6 +752,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code = kwargs['form_code'] form_code = kwargs['form_code']
form_data = request.data form_data = request.data
old_template_code = instance.template_no.template_no
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
...@@ -795,17 +797,32 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -795,17 +797,32 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
new_instance new_instance
) )
change_request.form_add_edit_delete( new_template_code = serializer.validated_data['template_no'].template_no
form_data['frm_approvers'],
models.ChangeRequestFormApprovers, if old_template_code == new_template_code:
enums.CREntitiesEnum.CR_FRM_APPROVER.value, change_request.form_add_edit_delete(
ChangeRequestFormApproversSerializer, form_data['frm_approvers'],
partial, models.ChangeRequestFormApprovers,
self, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code, ChangeRequestFormApproversSerializer,
batchno, partial,
enums.CREnum.SAVE.value self,
) form_code,
batchno,
enums.CREnum.SAVE.value
)
else:
change_request.form_add_edit_delete_for_draft(
form_data['frm_approvers'],
models.ChangeRequestFormApprovers,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
ChangeRequestFormApproversSerializer,
partial,
self,
form_code,
batchno,
enums.CREnum.SAVE.value
)
change_request.form_add_edit_delete( change_request.form_add_edit_delete(
form_data['frm_stakes'], form_data['frm_stakes'],
......
...@@ -17,7 +17,8 @@ from app.applicationlayer.utils import model_to_dict ...@@ -17,7 +17,8 @@ from app.applicationlayer.utils import model_to_dict
from app.entities.models import ( from app.entities.models import (
User, EntityLog, PasswordReset, Application, UserImage, User, EntityLog, PasswordReset, Application, UserImage,
ChangeRequestFormHeader, ChangeRequestTemplateHeader, ChangeRequestFormHeader, ChangeRequestTemplateHeader,
AllowedCompany, Company, Department, UserHistory AllowedCompany, Company, Department, UserHistory,
AMSPrivilege
) )
from django.contrib.auth.hashers import make_password from django.contrib.auth.hashers import make_password
...@@ -32,6 +33,12 @@ from app.applicationlayer.utils import ( ...@@ -32,6 +33,12 @@ from app.applicationlayer.utils import (
CustomPagination, status_message_response, log_save, CustomPagination, status_message_response, log_save,
main_threading main_threading
) )
import os
import configparser
config = configparser.ConfigParser()
config_file = os.path.join('./', 'env.ini')
config.read(config_file)
class UserViewSet(viewsets.ModelViewSet): class UserViewSet(viewsets.ModelViewSet):
...@@ -181,7 +188,6 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -181,7 +188,6 @@ class UserViewSet(viewsets.ModelViewSet):
partial = kwargs.pop('partial', False) partial = kwargs.pop('partial', False)
instance = self.get_object() instance = self.get_object()
cms_form = ChangeRequestFormHeader.objects.filter( cms_form = ChangeRequestFormHeader.objects.filter(
Q(frm_approvers__user__code=instance.code) | Q(frm_approvers__user__code=instance.code) |
Q(frm_stakes__user__code=instance.code) | Q(frm_stakes__user__code=instance.code) |
...@@ -191,10 +197,10 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -191,10 +197,10 @@ class UserViewSet(viewsets.ModelViewSet):
cms_template = ChangeRequestTemplateHeader.objects.filter( cms_template = ChangeRequestTemplateHeader.objects.filter(
Q(created_by_user__code=instance.code) | Q(created_by_user__code=instance.code) |
Q(requested_to_user__code=instance.code) Q(requested_to_user__code=instance.code)
) )
if instance.department.code != request.data['department']: if instance.department.code != request.data['department']:
if cms_form.count() > 0 or cms_template.count() > 0: if cms_form.count() > 0 or cms_template.count() > 0:
error = 'Cannot update this record the user has a record on change request it might cause a data error' error = 'Cannot update this record the user has a record on change request it might cause a data error'
...@@ -220,16 +226,25 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -220,16 +226,25 @@ class UserViewSet(viewsets.ModelViewSet):
rms = Application.objects.filter(id=1).values('code').first() rms = Application.objects.filter(id=1).values('code').first()
app.append(rms['code']) app.append(rms['code'])
app = Application.objects.filter( app_data = Application.objects.filter(
code__in=app code__in=app
) )
if not config['APPLICATION_CODE']['AMS'] in app:
ams_priv = AMSPrivilege.objects.filter(
id_number=instance.code
).delete()
if not config['APPLICATION_CODE']['CMS'] in app:
cms_priv = AllowedCompany.objects.filter(
id_number=instance.code
).delete()
instance = User.objects.get( instance = User.objects.get(
id=serializer.data['id'] id=serializer.data['id']
) )
instance.application.set(app_data)
instance.application.set(app)
new_instance = serializer.data new_instance = serializer.data
log_save( log_save(
......
...@@ -18,8 +18,8 @@ from app.applicationlayer.management.batchupload.serializer import ( ...@@ -18,8 +18,8 @@ from app.applicationlayer.management.batchupload.serializer import (
BatchUploadSerializer BatchUploadSerializer
) )
from app.entities.models import ( from app.entities.models import (
User, Application, ExtractTransformLoad, User, Application, ExtractTransformLoad, AllowedCompany,
AllowedCompany, Company, Department, UserHistory, MasterAttachment Company, Department, UserHistory, MasterAttachment, AMSPrivilege
) )
from app.applicationlayer.utils import ( from app.applicationlayer.utils import (
status_message_response, status_message_response,
...@@ -40,6 +40,7 @@ from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle ...@@ -40,6 +40,7 @@ from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.pagesizes import A4 from reportlab.lib.pagesizes import A4
from reportlab.lib.enums import TA_JUSTIFY, TA_RIGHT, TA_LEFT, TA_CENTER from reportlab.lib.enums import TA_JUSTIFY, TA_RIGHT, TA_LEFT, TA_CENTER
from reportlab.lib.colors import red from reportlab.lib.colors import red
from django.db import transaction
config = configparser.ConfigParser() config = configparser.ConfigParser()
...@@ -207,54 +208,79 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -207,54 +208,79 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
attach_user.first().delete() attach_user.first().delete()
departments = Department.objects.exclude(id=1).annotate( departments = Department.objects.exclude(id=1).annotate(
Privilege_Company=F('company__name'), Change_Request_Privilege_Company=F('company__name'),
Privilege_Department=F('name'), Change_Request_Privilege_Department=F('name'),
Privilege_Department_Code=F('code') Change_Request_Privilege_Department_Code=F('code')
).values( ).values(
'Privilege_Company', 'Change_Request_Privilege_Company',
'Privilege_Department', 'Change_Request_Privilege_Department',
'Privilege_Department_Code' 'Change_Request_Privilege_Department_Code'
) )
ams_user_groups = []
for a in enums.AMSUserTypeEnum:
ams_user_groups.append(
{
"Asset_Management_Privilege_Department": '',
"Asset_Management_Privilege_Department_Code": '',
"Asset_Management_User_Group": a.name
}
)
data = { data = {
'Username': ["ob-john"], 'Username': ["ob-john"],
'Name': ["John Doe"], 'Name': ["John Doe"],
'Company': [departments[0]['Privilege_Company']], 'Company': [departments[0]['Change_Request_Privilege_Company']],
'Department': [departments[0]['Privilege_Department']], 'Department': [departments[0]['Change_Request_Privilege_Department']],
'Department_Code': [departments[0]['Privilege_Department_Code']], 'Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Email': ["johndoe@gmail.com"], 'Email': ["johndoe@gmail.com"],
'Contact_No': ["123456"], 'Contact_No': ["123456"],
'Application': ["cms,ams"], 'Application': ["cms,ams"],
'Default_app': ["cms"], 'Default_app': ["cms"],
'Privilege_Company': [departments[0]['Privilege_Company']], 'Change_Request_Privilege_Company': [departments[0]['Change_Request_Privilege_Company']],
'Privilege_Department': [departments[0]['Privilege_Department']], 'Change_Request_Privilege_Department': [departments[0]['Change_Request_Privilege_Department']],
'Privilege_Department_Code': [departments[0]['Privilege_Department_Code']], 'Change_Request_Privilege_Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Create_CR': ["Yes"], 'Create_CR': ["Yes"],
'Create_Template': ["No"], 'Create_Template': ["No"],
'View_All_CR': ["Yes"], 'View_All_CR': ["Yes"],
'Approve_CR': ["Yes"] 'View_All_CR_Template': ["Yes"],
'Approve_CR': ["Yes"],
'Asset_Management_Privilege_Company': [departments[0]['Change_Request_Privilege_Company']],
'Asset_Management_Privilege_Department': [departments[0]['Change_Request_Privilege_Department']],
'Asset_Management_Privilege_Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Asset_Management_User_Group': "MANAGER"
} }
cols = ['Username', 'Name', 'Company', 'Department', 'Department_Code'] cols = ['Username', 'Name', 'Company', 'Department', 'Department_Code']
cols += ['Email', 'Contact_No', 'Application', 'Default_app'] cols += ['Email', 'Contact_No', 'Application', 'Default_app']
cols += ['Privilege_Company', 'Privilege_Department', 'Privilege_Department_Code'] cols += ['Change_Request_Privilege_Company', 'Change_Request_Privilege_Department', 'Change_Request_Privilege_Department_Code']
cols += ['Create_CR', 'Create_Template', 'View_All_CR', 'Approve_CR'] cols += ['Create_CR', 'Create_Template', 'View_All_CR','View_All_CR_Template', 'Approve_CR']
cols += ['Asset_Management_Privilege_Company', 'Asset_Management_Privilege_Department', 'Asset_Management_Privilege_Department_Code', 'Asset_Management_User_Group']
df = pd.DataFrame(data) df = pd.DataFrame(data)
header = {"Privilege_Company": ['Please use this department code as reference']} header = {"Change_Request_Privilege_Company": ['Please use this department code as reference'],
"Asset_Management_User_Group": ['Please use this user group as reference']}
df3 = pd.DataFrame( df3 = pd.DataFrame(
header header
) )
df2 = pd.DataFrame(
df_dept = pd.DataFrame(
departments departments
) )
df_ams = pd.DataFrame(
ams_user_groups
)
df2 = df_dept.join(df_ams, how='right')
df_row_reindex = pd.concat([df, df3, df2]) df_row_reindex = pd.concat([df, df3, df2])
df_row_reindex = df_row_reindex.reindex(columns=cols) df_row_reindex = df_row_reindex.reindex(columns=cols)
df_row_reindex = df_row_reindex.to_csv(index=False, line_terminator='\n') df_row_reindex = df_row_reindex.to_csv(index=False, line_terminator='\n')
updated_file = ContentFile(df_row_reindex) updated_file = ContentFile(df_row_reindex)
updated_file.name = "user_format.csv" updated_file.name = "user_format.csv"
uploaded = MasterAttachment.objects.create( uploaded = MasterAttachment.objects.create(
url=updated_file, url=updated_file,
attch_ref='etl_gen' attch_ref='etl_gen'
...@@ -273,9 +299,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -273,9 +299,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
return self.get_paginated_response(message) return self.get_paginated_response(message)
@transaction.atomic
def create(self, request, **kwargs): def create(self, request, **kwargs):
csv_file = request.FILES['file'] csv_file = request.FILES['file']
extension_file = str(csv_file).split('.')[1] extension_file = str(csv_file).split('.')[1]
sp1 = transaction.savepoint()
if extension_file.lower() != 'csv': if extension_file.lower() != 'csv':
return Response( return Response(
...@@ -293,6 +321,8 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -293,6 +321,8 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
department_error = 'Department should be same with the logged user' department_error = 'Department should be same with the logged user'
company_error = 'Company should be same with the logged user' company_error = 'Company should be same with the logged user'
application_cms_error = 'Please indicate cms in the Application column'
application_ams_error = 'Please indicate ams in the Application column'
etl = ExtractTransformLoad.objects.create( etl = ExtractTransformLoad.objects.create(
file_name=str(csv_file), file_name=str(csv_file),
...@@ -321,7 +351,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -321,7 +351,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
Q(company=user_company) Q(company=user_company)
) )
if not request_department: if not request_department:
etl2.delete() # etl2.delete()
return Response( return Response(
{"message": company_error}, {"message": company_error},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
...@@ -329,7 +359,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -329,7 +359,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
elif request.user.user_type == enums_department: elif request.user.user_type == enums_department:
if keys['Department_Code'] != request.user.department.code: if keys['Department_Code'] != request.user.department.code:
etl2.delete() # etl2.delete()
return Response( return Response(
{"message": department_error}, {"message": department_error},
# {"message": str(e)}, # {"message": str(e)},
...@@ -340,14 +370,28 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -340,14 +370,28 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
user_department = Department.objects.filter( user_department = Department.objects.filter(
name__icontains=keys['Department_Code'] name__icontains=keys['Department_Code']
) )
default_app = Application.objects.filter( try:
excel_code=keys['Default_app'] default_app = Application.objects.filter(
).first() excel_code=keys['Default_app']
).first()
except Exception as e:
transaction.savepoint_rollback(sp1)
return Response(
{"message": f"Invalid Default Application at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST
)
dept_code = Department.objects.get( try:
code=keys['Department_Code'] dept_code = Department.objects.get(
) code=keys['Department_Code']
)
except Exception as e:
transaction.savepoint_rollback(sp1)
return Response(
{"message": f"Invalid Department Code at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST
)
users = { users = {
"username": keys['Username'], "username": keys['Username'],
...@@ -376,6 +420,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -376,6 +420,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
excel_code__in=keys['Application'].split(',') excel_code__in=keys['Application'].split(',')
) )
app_excel_code = []
for i in app:
app_excel_code.append(i.excel_code)
current_user.application.set(app) current_user.application.set(app)
current_user = User.objects.get(id=current_user.id) current_user = User.objects.get(id=current_user.id)
...@@ -397,16 +446,20 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -397,16 +446,20 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
) )
else: else:
current_user = check_user[0] current_user = check_user[0]
# cms privilege
try: try:
privilege_department_code = keys['Privilege_Department_Code'] privilege_department_code = keys['Change_Request_Privilege_Department_Code']
privilege_department_code = Department.objects.get( privilege_department_code = Department.objects.get(
code=privilege_department_code code=privilege_department_code
) )
# if privilege_department_code:
# if 'cms' in app_excel_code:
ccr = True if str(keys['Create_CR']).lower() == 'yes' else False ccr = True if str(keys['Create_CR']).lower() == 'yes' else False
crt = True if str(keys['Create_Template']).lower() == 'yes' else False crt = True if str(keys['Create_Template']).lower() == 'yes' else False
view_all = True if str(keys['View_All_CR']).lower() == 'yes' else False view_all = True if str(keys['View_All_CR']).lower() == 'yes' else False
view_all_template = True if str(keys['View_All_CR_Template']).lower() == 'yes' else False
approve_cr = True if str(keys['Approve_CR']).lower() == 'yes' else False approve_cr = True if str(keys['Approve_CR']).lower() == 'yes' else False
privilege_object = { privilege_object = {
...@@ -416,41 +469,103 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -416,41 +469,103 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
"create_change_request": ccr, "create_change_request": ccr,
"create_change_request_template": crt, "create_change_request_template": crt,
"view_all_change_request": view_all, "view_all_change_request": view_all,
"view_all_change_request_template": view_all_template,
"approve_cr": approve_cr "approve_cr": approve_cr
} }
AllowedCompany.objects.create(**privilege_object) AllowedCompany.objects.create(**privilege_object)
# else:
# return Response(
# {"message": f"Please indicate cms application at row {data + 2}"},
# status=status.HTTP_400_BAD_REQUEST
# )
except IntegrityError as e: except IntegrityError as e:
etl2.delete() # etl2.delete()
# transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Duplicate user privilege at row {data + 2}"}, {"message": f"Duplicate user privilege at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except ObjectDoesNotExist as e: except ObjectDoesNotExist as e:
etl2.delete() # etl2.delete()
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Department Does not Exist at Privilege row {data + 2}"}, {"message": f"Department Does not Exist at Privilege row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
# ams privilege
try:
# ams_privilege_department_code = keys['Asset_Management_Privilege_Department_Code']
# if('ams' in app_excel_code and
# ams_privilege_department_code is None):
# print("none")
# elif:
# return Response(
# {"message": f"Please indicate ams application at row {data + 2}"},
# status=status.HTTP_400_BAD_REQUEST
# )
ams_privilege_department_code = keys['Asset_Management_Privilege_Department_Code']
ams_privilege_department_code = Department.objects.get(
code=ams_privilege_department_code
)
# if ams_privilege_department_code:
ams_privilege_department_code = keys[
'Asset_Management_Privilege_Department_Code']
ams_privilege_department_code = Department.objects.get(
code=ams_privilege_department_code
)
asset_user_code = keys['Asset_Management_User_Group']
privilege_object_ams = {
"id_number": current_user,
"department": ams_privilege_department_code,
"ams_user_type": asset_user_code
}
AMSPrivilege.objects.create(**privilege_object_ams)
except IntegrityError as e:
# etl2.delete()
# transaction.savepoint_rollback(sp1)
return Response(
{"message": f"Duplicate ams privilege at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST
)
except ObjectDoesNotExist as e:
# etl2.delete()
transaction.savepoint_rollback(sp1)
return Response(
{"message": f"Department Does not Exist at AMS Privilege row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST
)
# end of ams privilege
except IntegrityError as e: except IntegrityError as e:
etl2.delete() # etl2.delete()
# transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Record already exist at row {data + 2}"}, {"message": f"Record already exist at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except KeyError as e: except KeyError as e:
etl2.delete() # etl2.delete()
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Missing column {e.args[0]}"}, {"message": f"Missing column {e.args[0]}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except ObjectDoesNotExist as e: except ObjectDoesNotExist as e:
etl2.delete() # etl2.delete()
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Department Does not Exist at row {data + 2}"}, {"message": f"Department Does not Exist at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
......
...@@ -368,6 +368,55 @@ def form_add_edit_delete(form_request_body, ...@@ -368,6 +368,55 @@ def form_add_edit_delete(form_request_body,
return True return True
def form_add_edit_delete_for_draft(form_request_body,
queryset,
entity,
serializer_data,
partial,
self,
form_code,
batch_no,
main_action):
delete_query = queryset.objects.filter(
form_code=form_code
)
if delete_query.count() > 0:
crhistory_log_bulk_delete(delete_query,
entity,
queryset,
form_code,
batch_no,
main_action
)
for i in form_request_body:
frm_code = {
"form_code": form_code
}
data = {**i, **frm_code}
serializer = serializer_data(data=data,
context={"request": self.request})
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
new_instance = serializer.data
crhistory_save(
batch_no,
main_action,
enums.CREnum.ADD.value,
entity,
form_code,
None,
new_instance
)
return True
def attachment_add_edit_delete(form_request_body, def attachment_add_edit_delete(form_request_body,
queryset, queryset,
entity, entity,
......
...@@ -31,13 +31,17 @@ class GenerateCode(Enum): ...@@ -31,13 +31,17 @@ class GenerateCode(Enum):
FORM_DETAIL = 'FRMDETAIL' FORM_DETAIL = 'FRMDETAIL'
ETL = 'ETL' ETL = 'ETL'
# ASSET_GROUP = 'AMSGRP'
CMS_SETTINGS = "CMSSET" CMS_SETTINGS = "CMSSET"
ASSET_TYPE = 'ASSTTYPE' ASSET_TYPE = 'ASSTTYPE'
ASSET = 'ASST' ASSET = 'ASST'
ASSET_STOCK = 'ASSTSTOCK' ASSET_STOCK = 'ASSTSTOCK'
ASSET_GROUP = 'ASSTGRP' ASSET_GROUP = 'ASSTGRP'
ASSET_STOCK_SUPPORT = 'ASSTSTOCKSUP'
REPORT_TYPE = 'RPTTYPE'
REPORT = 'RPT'
FORM_ASSET = 'FRMASSET'
''' '''
********* *********
...@@ -72,6 +76,15 @@ class LogEntitiesEnum(Enum): ...@@ -72,6 +76,15 @@ class LogEntitiesEnum(Enum):
ChangeRequestFormDetails = "ChangeRequestFormDetails" ChangeRequestFormDetails = "ChangeRequestFormDetails"
ChangeRequestSettings = 'ChangeRequestSettings' ChangeRequestSettings = 'ChangeRequestSettings'
AMSReportType = 'AMSReportType'
AMSReport = 'AMSReport'
AMSAsset = 'AMSAsset'
AMSAssetStock = 'AMSAssetStock'
AMSAssetStockSupport = 'AMSAssetStockSupport'
AMSAssetType = 'AMSAssetType'
AMSAssetGroup = 'AMSAssetGroup'
''' '''
********* *********
CR HISTORY ENUMS CR HISTORY ENUMS
......
# Generated by Django 2.2 on 2020-03-18 13:14
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0005_amsprivilege'),
]
operations = [
migrations.CreateModel(
name='AMSAsset',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(default='', max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
],
options={
'db_table': 'ams_assets',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSAssetGroup',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_group_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_asset_groups',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSAssetStock',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(default='', max_length=255, unique=True)),
('unique_identifier', models.CharField(max_length=255, unique=True)),
('status', models.CharField(choices=[('In-Store', 'In-Store'), ('Deployed', 'Deployed'), ('Returned', 'Returned'), ('Written Off', 'Written Off'), ('Faulty', 'Faulty')], default='In-Store', max_length=100)),
('acquisition_type', models.CharField(choices=[('Owned', 'Owned'), ('Loan', 'Loan')], default='Owned', max_length=100)),
('location', models.CharField(max_length=255)),
('dynamic_field', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('asset', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_to_assetdetail', to='entities.AMSAsset', to_field='code')),
('asset_group', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_to_assetgroup', to='entities.AMSAssetGroup', to_field='code')),
('manager', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_manager', to=settings.AUTH_USER_MODEL, to_field='code')),
('user_client', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_user_client', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_asset_stocks',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSAssetStockSupport',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('start_date', models.DateTimeField(blank=True, null=True)),
('end_date', models.DateTimeField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('asset_stock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='entities.AMSAssetStock', to_field='code')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ams_asset_stock_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_asset_stock_supports',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSAssetType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('dynamic_field', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_type_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_asset_types',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSAuditTrail',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('asset_stock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='entities.AMSAssetStock', to_field='code')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ams_audit_trail_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_audit_trail',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSReport',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(default='', max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('dynamic_field', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('asset_stock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_to_asset_stock', to='entities.AMSAssetStock', to_field='code')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ams_report_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_reports',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='AMSReportType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(default='', max_length=255, unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('dynamic_field', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('is_active', models.BooleanField(default=True)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ams_report_type_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
],
options={
'db_table': 'ams_report_types',
'ordering': ['-created'],
},
),
migrations.CreateModel(
name='ChangeRequestFormAssets',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('code', models.CharField(max_length=255, unique=True)),
('created', models.DateTimeField(auto_now_add=True)),
('deleted_at', models.DateTimeField(blank=True, null=True)),
('asset_stock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='entities.AMSAssetStock', to_field='code')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cms_form_assets_created_by', to=settings.AUTH_USER_MODEL, to_field='code')),
('form_code', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='change_request_form_assets', to='entities.ChangeRequestFormHeader', to_field='form_code')),
],
options={
'db_table': 'change_request_form_assets',
'ordering': ['-created'],
},
),
migrations.DeleteModel(
name='AssetGroup',
),
migrations.AlterField(
model_name='amsprivilege',
name='ams_user_type',
field=models.CharField(choices=[('MANAGER', 'MANAGER'), ('USER_CLIENT', 'USER_CLIENT'), ('SUPPORT', 'SUPPORT'), ('VIEWER', 'VIEWER')], default='MANAGER', max_length=100),
),
migrations.AlterField(
model_name='amsprivilege',
name='department',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_privilege_departments', to='entities.Department', to_field='code'),
),
migrations.AlterField(
model_name='amsprivilege',
name='id_number',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_privilege_id_number', to=settings.AUTH_USER_MODEL, to_field='code'),
),
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport')], default='Add', max_length=50),
),
migrations.AlterField(
model_name='extracttransformload',
name='model_type',
field=models.CharField(choices=[('APP', 'APP'), ('MODULE', 'MODULE'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('USER', 'USER'), ('DELEGATION', 'DELEGATION'), ('NOTIF', 'NOTIF'), ('TMP', 'TMP'), ('TMPAPR', 'TMPAPR'), ('TMPSTK', 'TMPSTK'), ('TMPATCH', 'TMPATCH'), ('TMPDETAIL', 'TMPDETAIL'), ('FRM', 'FRM'), ('FRMAPR', 'FRMAPR'), ('FRMSTK', 'FRMSTK'), ('FRMATCH', 'FRMATCH'), ('FRMDETAIL', 'FRMDETAIL'), ('ETL', 'ETL'), ('CMSSET', 'CMSSET'), ('ASSTTYPE', 'ASSTTYPE'), ('ASST', 'ASST'), ('ASSTSTOCK', 'ASSTSTOCK'), ('ASSTGRP', 'ASSTGRP'), ('ASSTSTOCKSUP', 'ASSTSTOCKSUP'), ('RPTTYPE', 'RPTTYPE'), ('RPT', 'RPT'), ('FRMASSET', 'FRMASSET')], default='USER', max_length=100),
),
migrations.AddField(
model_name='amsreport',
name='report_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_to_report_type', to='entities.AMSReportType', to_field='code'),
),
migrations.AddField(
model_name='amsasset',
name='asset_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_type', to='entities.AMSAssetType', to_field='code'),
),
migrations.AddField(
model_name='amsasset',
name='created_by',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='ams_asset_created_by', to=settings.AUTH_USER_MODEL, to_field='code'),
),
]
# Generated by Django 2.2 on 2020-03-18 15:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0006_auto_20200318_1314'),
]
operations = [
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport'), ('AMSASSET', 'AMSASSET')], default='Add', max_length=50),
),
]
# Generated by Django 2.2 on 2020-03-18 15:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0007_auto_20200318_1535'),
]
operations = [
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport'), ('AMSAsset', 'AMSAsset'), ('AMSAssetStock', 'AMSAssetStock'), ('AMSAssetStockSupport', 'AMSAssetStockSupport')], default='Add', max_length=50),
),
]
# Generated by Django 2.2 on 2020-03-18 17:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0008_auto_20200318_1545'),
]
operations = [
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport'), ('AMSAsset', 'AMSAsset'), ('AMSAssetStock', 'AMSAssetStock'), ('AMSAssetStockSupport', 'AMSAssetStockSupport'), ('AMSAssetType', 'AMSAssetType'), ('AMSAssetGroup', 'AMSAssetGroup')], default='Add', max_length=50),
),
]
...@@ -1246,30 +1246,96 @@ class ChangeRequestSettings(models.Model): ...@@ -1246,30 +1246,96 @@ class ChangeRequestSettings(models.Model):
********************** **********************
""" """
class AssetGroup(models.Model): class AMSPrivilege(models.Model):
id_number = models.ForeignKey(
User,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_privilege_id_number'
)
department = models.ForeignKey(
Department,
on_delete=models.PROTECT,
related_name='ams_privilege_departments',
to_field='code'
)
ams_user_type = models.CharField(
choices=[(tag.value, tag.value) for tag in enums.AMSUserTypeEnum],
default=enums.AMSUserTypeEnum.MANAGER.value,
max_length=100
)
created_at = models.DateTimeField(auto_now_add=True)
deleted_at = models.DateTimeField(null=True, blank=True)
class Meta:
db_table = 'ams_privileges'
unique_together = ['department', 'id_number']
class AMSAssetGroup(models.Model):
code = models.CharField( code = models.CharField(
unique=True, unique=True,
max_length=255) max_length=255)
name = models.CharField( name = models.CharField(
unique=True, unique=True,
max_length=255) max_length=255)
asset_group = models.CharField( created_by = models.ForeignKey(
User,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_group_created_by'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
class Meta:
db_table = 'ams_asset_groups'
ordering = ['-created']
def __str__(self):
return f'{self.code}'
def save(self, *args, **kwargs):
super(AMSAssetGroup, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ASSET_GROUP.value, self.id)
if self.code == '':
self.code = code
self.created = datetime.now()
self.save()
class AMSAssetType(models.Model):
code = models.CharField(
unique=True,
max_length=255)
name = models.CharField(
unique=True, unique=True,
max_length=255) max_length=255)
created = models.DateTimeField( dynamic_field = models.TextField(
blank=True, blank=True,
null=True) null=True
)
created_by = models.ForeignKey(
User,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_type_created_by'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
class Meta: class Meta:
db_table = 'asset_groups' db_table = 'ams_asset_types'
ordering = ['-created'] ordering = ['-created']
def __str__(self): def __str__(self):
return f'{self.code}' return f'{self.code}'
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
super(AssetGroup, self).save(*args, **kwargs) super(AMSAssetType, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ASSET_GROUP.value, self.id) code = number_generator(enums.GenerateCode.ASSET_TYPE.value, self.id)
if self.code == '': if self.code == '':
self.code = code self.code = code
...@@ -1277,211 +1343,339 @@ class AssetGroup(models.Model): ...@@ -1277,211 +1343,339 @@ class AssetGroup(models.Model):
self.save() self.save()
class AMSPrivilege(models.Model): class AMSAsset(models.Model):
id_number = models.ForeignKey(
code = models.CharField(
unique=True,
max_length=255,
default='')
name = models.CharField(
unique=True,
max_length=255)
asset_type = models.ForeignKey(
AMSAssetType,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_type'
)
description = models.CharField(
blank=True,
null=True,
max_length=255)
created_by = models.ForeignKey(
User, User,
on_delete=models.CASCADE, on_delete=models.PROTECT,
to_field='code', to_field='code',
related_name='ams_privilege_id_number' related_name='ams_asset_created_by'
) )
department = models.ForeignKey( created = models.DateTimeField(auto_now_add=True)
Department, is_active = models.BooleanField(default=True)
on_delete=models.CASCADE,
related_name='ams_privilege_departments', class Meta:
to_field='code' db_table = 'ams_assets'
ordering = ['-created']
def __str__(self):
return f'{self.code}'
def save(self, *args, **kwargs):
super(AMSAsset, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ASSET.value, self.id)
if self.code == '':
self.code = code
self.created = datetime.now()
self.save()
class AMSAssetStock(models.Model):
code = models.CharField(
unique=True,
max_length=255,
default='')
unique_identifier = models.CharField(
unique=True,
max_length=255)
status = models.CharField(
choices=[(tag.value, tag.value) for tag in enums.AMSAssetStatus],
default=enums.AMSAssetStatus.INSTORE.value,
max_length=100
) )
ams_user_type = models.CharField( acquisition_type = models.CharField(
choices=[(tag.value, tag.value) for tag in enums.AMSUserTypeEnum], choices=[(tag.value, tag.value) for tag in enums.AMSAssetAquisitionType],
default=enums.AMSUserTypeEnum.MANAGER.value, default=enums.AMSAssetAquisitionType.OWN.value,
max_length=100 max_length=100
) )
created_at = models.DateTimeField(auto_now_add=True) location = models.CharField(
deleted_at = models.DateTimeField(null=True, blank=True) max_length=255
)
user_client = models.ForeignKey(
User,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_user_client'
)
manager = models.ForeignKey(
User,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_manager'
)
dynamic_field = models.TextField(
blank=True,
null=True
)
asset = models.ForeignKey(
AMSAsset,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_to_assetdetail'
)
asset_group = models.ForeignKey(
AMSAssetGroup,
on_delete=models.PROTECT,
to_field='code',
related_name='ams_asset_to_assetgroup'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
class Meta: class Meta:
db_table = 'ams_privileges' db_table = 'ams_asset_stocks'
unique_together = ['department', 'id_number'] ordering = ['-created']
def __str__(self):
return f'{self.code}'
# class AMSAssetGroup(models.Model): def save(self, *args, **kwargs):
# code = models.CharField( super(AMSAssetStock, self).save(*args, **kwargs)
# unique=True, code = number_generator(enums.GenerateCode.ASSET_STOCK.value, self.id)
# max_length=255)
# name = models.CharField( if self.code == '':
# unique=True, self.code = code
# max_length=255) self.created = datetime.now()
# created_by = models.ForeignKey( self.save()
# User,
# on_delete=models.CASCADE,
# to_field='code', class AMSAssetStockSupport(models.Model):
# related_name='ams_asset_group_created_by'
# ) code = models.CharField(
# created = models.DateTimeField(auto_now_add=True) unique=True,
# deleted_at = models.DateTimeField(null=True, blank=True) max_length=255)
name = models.CharField(
# class Meta: unique=True,
# db_table = 'ams_asset_groups' max_length=255)
# ordering = ['-created'] start_date = models.DateTimeField(
null=True,
blank=True)
end_date = models.DateTimeField(
null=True,
blank=True)
created_by = models.ForeignKey(
User,
on_delete=models.CASCADE,
to_field='code',
related_name='ams_asset_stock_created_by'
)
asset_stock = models.ForeignKey(
AMSAssetStock,
on_delete=models.CASCADE,
to_field='code'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
# def __str__(self): class Meta:
# return f'{self.code}' db_table = 'ams_asset_stock_supports'
ordering = ['-created']
# def save(self, *args, **kwargs): def __str__(self):
# super(AMSAssetGroup, self).save(*args, **kwargs) return f'{self.code}'
# code = number_generator(enums.GenerateCode.ASSET_GROUP.value, self.id)
def save(self, *args, **kwargs):
super(AMSAssetStockSupport, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ASSET_STOCK_SUPPORT.value, self.id)
# if self.code == '': if self.code == '':
# self.code = code self.code = code
# self.created = datetime.now() self.created = datetime.now()
# self.save() self.save()
# class AMSAssetType(models.Model): class AMSReportType(models.Model):
# code = models.CharField( code = models.CharField(
# unique=True, unique=True,
# max_length=255) max_length=255,
# name = models.CharField( default='')
# unique=True, name = models.CharField(
# max_length=255) unique=True,
# dynamic_field = models.TextField( max_length=255)
# blank=True, description = models.CharField(
# null=True blank=True,
# ) null=True,
# created_by = models.ForeignKey( max_length=255)
# User, dynamic_field = models.TextField(
# on_delete=models.CASCADE, blank=True,
# to_field='code', null=True
# related_name='ams_asset_type_created_by' )
# ) created_by = models.ForeignKey(
# created = models.DateTimeField(auto_now_add=True) User,
# deleted_at = models.DateTimeField(null=True, blank=True) on_delete=models.CASCADE,
to_field='code',
related_name='ams_report_type_created_by'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
# class Meta: class Meta:
# db_table = 'ams_asset_types' db_table = 'ams_report_types'
# ordering = ['-created'] ordering = ['-created']
# def __str__(self): def __str__(self):
# return f'{self.code}' return f'{self.code}'
# def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# super(AMSAssetType, self).save(*args, **kwargs) super(AMSReportType, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET_TYPE.value, self.id) code = number_generator(enums.GenerateCode.REPORT_TYPE.value, self.id)
# if self.code == '': if self.code == '':
# self.code = code self.code = code
# self.created = datetime.now() self.created = datetime.now()
# self.save() self.save()
# class AMSAsset(models.Model): class AMSReport(models.Model):
# code = models.CharField( code = models.CharField(
# unique=True, unique=True,
# max_length=255) max_length=255,
# name = models.CharField( default='')
# unique=True, name = models.CharField(
# max_length=255) unique=True,
# asset_type = models.ForeignKey( max_length=255)
# AMSAssetType, dynamic_field = models.TextField(
# on_delete=models.CASCADE, blank=True,
# to_field='code', null=True
# related_name='ams_asset_type' )
# ) report_type = models.ForeignKey(
# description = models.CharField( AMSReportType,
# blank=True, on_delete=models.CASCADE,
# null=True, to_field='code',
# max_length=255) related_name='report_to_report_type'
# created_by = models.ForeignKey( )
# User, asset_stock = models.ForeignKey(
# on_delete=models.CASCADE, AMSAssetStock,
# to_field='code', on_delete=models.CASCADE,
# related_name='ams_asset_created_by' to_field='code',
# ) related_name='report_to_asset_stock'
# created = models.DateTimeField(auto_now_add=True) )
# deleted_at = models.DateTimeField(null=True, blank=True) created_by = models.ForeignKey(
User,
on_delete=models.CASCADE,
to_field='code',
related_name='ams_report_created_by'
)
created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
# class Meta: class Meta:
# db_table = 'ams_assets' db_table = 'ams_reports'
# ordering = ['-created'] ordering = ['-created']
# def __str__(self): def __str__(self):
# return f'{self.code}' return f'{self.code}'
# def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# super(AMSAsset, self).save(*args, **kwargs) super(AMSReport, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET.value, self.id) code = number_generator(enums.GenerateCode.REPORT.value, self.id)
# if self.code == '': if self.code == '':
# self.code = code self.code = code
# self.created = datetime.now() self.created = datetime.now()
# self.save() self.save()
# class AMSAssetStock(models.Model): class AMSAuditTrail(models.Model):
# code = models.CharField( code = models.CharField(
# unique=True, unique=True,
# max_length=255) max_length=255)
# unique_identifier = models.CharField( name = models.CharField(
# unique=True, unique=True,
# max_length=255) max_length=255)
# status = models.CharField( description = models.CharField(
# choices=[(tag.value, tag.value) for tag in enums.AMSAssetStatus], blank=True,
# default=enums.AMSAssetStatus.INSTORE.value, null=True,
# max_length=100 max_length=255)
# ) asset_stock = models.ForeignKey(
# acquisition_type = models.CharField( AMSAssetStock,
# choices=[(tag.value, tag.value) for tag in enums.AMSAssetAquisitionType], on_delete=models.CASCADE,
# default=enums.AMSAssetAquisitionType.OWN.value, to_field='code'
# max_length=100 )
# ) created_by = models.ForeignKey(
# location = models.CharField( User,
# max_length=255 on_delete=models.CASCADE,
# ) to_field='code',
# user_client = models.ForeignKey( related_name='ams_audit_trail_created_by'
# User, )
# on_delete=models.CASCADE, created = models.DateTimeField(auto_now_add=True)
# to_field='code', deleted_at = models.DateTimeField(null=True, blank=True)
# related_name='ams_asset_user_client'
# )
# manager = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_manager'
# )
# dynamic_field = models.TextField(
# blank=True,
# null=True
# )
# asset = models.ForeignKey(
# AMSAsset,
# on_delete=models.CASCADE,
# to_field='code'
# )
# asset_type = models.ForeignKey(
# AMSAssetType,
# on_delete=models.CASCADE,
# to_field='code'
# )
# created = models.DateTimeField(auto_now_add=True)
# deleted_at = models.DateTimeField(null=True, blank=True)
# class Meta: class Meta:
# db_table = 'ams_asset_stocks' db_table = 'ams_audit_trail'
# ordering = ['-created'] ordering = ['-created']
# def __str__(self): def __str__(self):
# return f'{self.code}' return f'{self.code}'
# def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# super(AMSAssetStock, self).save(*args, **kwargs) super(AMSReport, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET_STOCK.value, self.id) code = number_generator(enums.GenerateCode.REPORT.value, self.id)
# if self.code == '': if self.code == '':
# self.code = code self.code = code
# self.created = datetime.now() self.created = datetime.now()
# self.save() self.save()
class ChangeRequestFormAssets(models.Model):
code = models.CharField(
unique=True,
max_length=255)
form_code = models.ForeignKey(
ChangeRequestFormHeader,
on_delete=models.PROTECT,
to_field='form_code',
related_name='change_request_form_assets')
asset_stock = models.ForeignKey(
AMSAssetStock,
on_delete=models.CASCADE,
to_field='code'
)
created_by = models.ForeignKey(
User,
on_delete=models.CASCADE,
to_field='code',
related_name='cms_form_assets_created_by'
)
created = models.DateTimeField(auto_now_add=True)
deleted_at = models.DateTimeField(null=True, blank=True)
class Meta:
db_table = 'change_request_form_assets'
ordering = ['-created']
def __str__(self):
return f'{self.code}'
def save(self, *args, **kwargs):
super(ChangeRequestFormAssets, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.FORM_ASSET.value, self.id)
if self.code == '':
self.code = code
self.created = datetime.now()
self.save()
\ No newline at end of file
...@@ -18,6 +18,7 @@ from app.businesslayer.changerequest.change_request_template import ( ...@@ -18,6 +18,7 @@ from app.businesslayer.changerequest.change_request_template import (
validation_vendor_unique_level validation_vendor_unique_level
) )
from app.applicationlayer.utils import error_message from app.applicationlayer.utils import error_message
from app.entities import models
def error_safe(function): def error_safe(function):
...@@ -414,3 +415,189 @@ def FormValidation(function): ...@@ -414,3 +415,189 @@ def FormValidation(function):
return function(self, request, *args, **kwargs) return function(self, request, *args, **kwargs)
return wrapper return wrapper
def AssetValidation(function):
@wraps(function)
def wrapper(self, request, *args, **kwargs):
form = request.data
if 'name' not in form:
return error_message(
'400', "The key name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
if len(form['name']) == 0:
return error_message(
'400', "Asset name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
check_existing = models.AMSAsset.objects.filter(name=form['name']).count()
if check_existing >= 1:
return error_message(
'400', "Asset with this name already exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
if 'asset_type' not in form:
return error_message(
'400', "The key asset_type is required",
'failed', status.HTTP_400_BAD_REQUEST
)
valid_asset_type = models.AMSAssetType.objects.filter(
Q(code=form['asset_type']) &
Q(is_active=True)
).count()
if valid_asset_type <= 0:
return error_message(
'400', "Invalid Asset Type",
'failed', status.HTTP_400_BAD_REQUEST
)
return function(self, request, *args, **kwargs)
return wrapper
def AssetStockValidation(function):
@wraps(function)
def wrapper(self, request, *args, **kwargs):
form = request.data
fields = ["asset_type"]
fields.append("unique_identifier")
fields.append("status")
fields.append( "acquisition_type")
fields.append("location")
fields.append("user_client")
fields.append("manager")
fields.append("dynamic_field")
fields.append("asset_group")
fields.append("asset")
print(fields)
for data in fields:
if str(data) not in form:
return error_message(
'400', f"The key {data.replace('_', ' ')} is required",
'failed', status.HTTP_400_BAD_REQUEST
)
for data in form.keys():
if str(data) != 'dynamic_field':
if len(data) == 0:
return error_message(
'400', f"{data.replace('_', ' ')} is required",
'failed', status.HTTP_400_BAD_REQUEST
)
unique_identifier = models.AMSAssetStock.objects.filter(
unique_identifier=form['unique_identifier']
).count()
if unique_identifier >= 1:
return error_message(
'400', "unique identifier already exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
user_client = models.User.objects.filter(
code=form['user_client']
).count()
if user_client <= 0:
return error_message(
'400', "User does not exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
manager = models.User.objects.filter(
code=form['manager']
).count()
if manager <= 0:
return error_message(
'400', "User for manager does not exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
asset = models.AMSAsset.objects.filter(
code=form['asset']
).count()
if asset <= 0:
return error_message(
'400', "Asset does not exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
asset_group = models.AMSAssetGroup.objects.filter(
code=form['asset_group']
).count()
if asset_group <= 0:
return error_message(
'400', "Asset Group does not exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
valid_asset_type = models.AMSAssetType.objects.filter(
Q(code=form['asset_type']) &
Q(is_active=True)
).count()
if valid_asset_type <= 0:
return error_message(
'400', "Invalid Asset Type",
'failed', status.HTTP_400_BAD_REQUEST
)
return function(self, request, *args, **kwargs)
return wrapper
def AssetGroupValidation(function):
@wraps(function)
def wrapper(self, request, *args, **kwargs):
form = request.data
if 'name' not in form:
return error_message(
'400', "The key name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
if len(form['name']) == 0:
return error_message(
'400', "Asset Group name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
check_existing = models.AMSAssetGroup.objects.filter(name=form['name']).count()
if check_existing >= 1:
return error_message(
'400', "Asset Group with this name already exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
return function(self, request, *args, **kwargs)
return wrapper
def AssetTypeValidation(function):
@wraps(function)
def wrapper(self, request, *args, **kwargs):
form = request.data
if 'name' not in form:
return error_message(
'400', "The key name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
if len(form['name']) == 0:
return error_message(
'400', "Asset Type name is required",
'failed', status.HTTP_400_BAD_REQUEST
)
check_existing = models.AMSAssetType.objects.filter(name=form['name']).count()
if check_existing >= 1:
return error_message(
'400', "Asset Type with this name already exists.",
'failed', status.HTTP_400_BAD_REQUEST
)
return function(self, request, *args, **kwargs)
return wrapper
\ No newline at end of file
...@@ -22,7 +22,6 @@ cluster = api ...@@ -22,7 +22,6 @@ cluster = api
cms_notification = cms_notification cms_notification = cms_notification
[NOTIFICATION_EMAIL] [NOTIFICATION_EMAIL]
APPROVER_MESSAGE = has sent you an APPROVAL REQUEST for change request;RMS-ACTIONREQUIRED APPROVER_MESSAGE = has sent you an APPROVAL REQUEST for change request;RMS-ACTIONREQUIRED
REQUESTOR_MESSAGE = has APPROVED the change request;RMS-CRAPPROVED REQUESTOR_MESSAGE = has APPROVED the change request;RMS-CRAPPROVED
...@@ -35,3 +34,9 @@ VENDOR_REJECT_MESSAGE = has REJECTED the change request;RMS-CRREJECTED-VENDOR ...@@ -35,3 +34,9 @@ VENDOR_REJECT_MESSAGE = has REJECTED the change request;RMS-CRREJECTED-VENDOR
REVISED_MESSAGE = has REJECTED the change request for your revision;RMS-CRREVISED REVISED_MESSAGE = has REJECTED the change request for your revision;RMS-CRREVISED
CANCEL_MESSAGE = has CANCELLED the change request;RMS-CRCANCELLED-USERTRIGGER CANCEL_MESSAGE = has CANCELLED the change request;RMS-CRCANCELLED-USERTRIGGER
APPROVER_REJECT_MESSAGE = has REJECTED the change request for your approval;RMS-CRREJECTED-APPROVER APPROVER_REJECT_MESSAGE = has REJECTED the change request for your approval;RMS-CRREJECTED-APPROVER
[APPLICATION_CODE]
RMS = APP-20190923-0000001
CMS = APP-20190923-0000002
AMS = APP-20190923-0000003
\ No newline at end of file
Username,Name,Company,Department,Department_Code,Email,Contact_No,Application,Default_app,Privilege_Company,Privilege_Department,Privilege_Department_Code,Create_CR,Create_Template,View_All_CR,Approve_CR Username,Name,Company,Department,Department_Code,Email,Contact_No,Application,Default_app,Change_Request_Privilege_Company,Change_Request_Privilege_Department,Change_Request_Privilege_Department_Code,Create_CR,Create_Template,View_All_CR,View_All_CR_Template,Approve_CR,Asset_Management_Privilege_Company,Asset_Management_Privilege_Department,Asset_Management_Privilege_Department_Code,Asset_Management_User_Group
ob-john,John Doe,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,johndoe@gmail.com,123456,"cms,ams",cms,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,Yes,No,Yes,Yes ob-john,John Doe,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,johndoe@gmail.com,123456,"cms,ams",cms,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,Yes,No,Yes,Yes,Yes,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,MANAGER
,,,,,,,,,Please use this department code as reference,,,,,, ,,,,,,,,,Please use this department code as reference,,,,,,,,,,,
,,,,,,,,,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,,,, ,,,,,,,,,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,,,,,,,,,
,,,,,,,,,JTC Corporation,Security,DEPARTMENT-20200122-0000002,,,, ,,,,,,,,,JTC Corporation,Security,DEPARTMENT-20200122-0000002,,,,,,,,,
,,,,,,,,,Sample Company,Facilities Management,DEPARTMENT-20200130-0000004,,,, ,,,,,,,,,Sample Company,Facilities Management,DEPARTMENT-20200130-0000004,,,,,,,,,
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"info": { "info": {
"_postman_id": "c5ad0726-f9e0-4795-88d2-924ab3aa1201", "_postman_id": "4003aad5-0e38-415c-95fc-84a0c8bb6607",
"name": "RMSv2", "name": "RMSv2",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
}, },
...@@ -802,7 +802,7 @@ ...@@ -802,7 +802,7 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\r\n\t\"application\":[\"APP-20190923-0000002\"],\r\n\t\"department\": \"\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"ss\",\r\n\t\"username\": \"jtc-sereness\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190923-0000002\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"t@gmail.com\"\r\n}\r\n" "raw": "{\r\n\t\"application\":[\"APP-20190923-0000002\"],\r\n\t\"department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"ss\",\r\n\t\"username\": \"jtc-sereness\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190923-0000002\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"t@gmail.com\"\r\n}\r\n"
}, },
"url": { "url": {
"raw": "{{baseurl}}/management/users/", "raw": "{{baseurl}}/management/users/",
...@@ -832,17 +832,17 @@ ...@@ -832,17 +832,17 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\r\n\t\"application\":[\"APP-20190917-0000001\",\"APP-20190917-0000003\"],\r\n\t\"department\": \"DEPARTMENT-20190917-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Ritas\",\r\n\t\"username\": \"obrit1a\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190917-0000001\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n" "raw": "{\r\n\t\"application\":[\"APP-20190923-0000001\"],\r\n\t\"department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Ritas\",\r\n\t\"username\": \"obrita\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190923-0000001\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n"
}, },
"url": { "url": {
"raw": "{{baseurl}}/management/users/USER-20190919-0000028/", "raw": "{{baseurl}}/management/users/USER-20200122-0000002/",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
"path": [ "path": [
"management", "management",
"users", "users",
"USER-20190919-0000028", "USER-20200122-0000002",
"" ""
] ]
} }
...@@ -2666,7 +2666,7 @@ ...@@ -2666,7 +2666,7 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\r\n\t\"requested_to_template_name\": \"sdsd\",\r\n\t\"requested_to_template_id\": \"sdfssdddasdaesdf\",\r\n\t\"requested_to_objective\": \"Sample Objective\",\r\n\t\"requested_to_target_date\": \"34\",\r\n\t\"requested_to_priority\": \"Normal\",\r\n\t\"description\": \"Lorem Ipsum\",\r\n\t\"created_by_department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"created_by_user\": \"USER-20190923-0000001\",\r\n\t\"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n\t\"requested_to_department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"requested_to_user\": \"USER-20200122-0000002\",\r\n\t\"html_desc\": \"desc\",\r\n\t\"html_obj\": \"obj\",\r\n\t\r\n\t\"tmp_approvers\": [\r\n\t\t{\r\n \"level\": 1,\r\n \"is_default\": true,\r\n \"user\": \"USER-20200122-0000004\",\r\n \"delegation\": \"\"\r\n\t\t},\r\n\t\t{\r\n \"level\": 2,\r\n \"is_default\": true,\r\n \"user\": \"USER-20200122-0000002\",\r\n \"delegation\": \"DELEGATION-20191119-0000002\"\r\n\t\t},\r\n\t\t{\r\n \"level\": 3,\r\n \"is_default\": true,\r\n \"user\": \"USER-20190923-0000001\",\r\n \"delegation\": \"DELEGATION-20191119-0000001\"\r\n\t\t}\r\n\t],\r\n\t\r\n\t\"tmp_stakes\": [\r\n\t\t{\r\n\t\t\t\"delegation\": \"Mandatory Stakeholder\",\r\n\t\t\t\"user\": \"USER-20200122-0000004\"\r\n\t\t}\r\n\t],\r\n\t\r\n\t\"tmp_attachments\": [\r\n\t],\r\n\t\"tmp_details\": []\r\n}" "raw": "{\r\n\t\"requested_to_template_name\": \"\",\r\n\t\"requested_to_template_id\": \"sdfssdddasdaesdf\",\r\n\t\"requested_to_objective\": \"Sample Objective\",\r\n\t\"requested_to_target_date\": \"34\",\r\n\t\"requested_to_priority\": \"Normal\",\r\n\t\"description\": \"Lorem Ipsum\",\r\n\t\"created_by_department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"created_by_user\": \"USER-20190923-0000001\",\r\n\t\"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n\t\"requested_to_department\": \"DEPARTMENT-20200122-0000002\",\r\n\t\"requested_to_user\": \"USER-20200122-0000002\",\r\n\t\"html_desc\": \"desc\",\r\n\t\"html_obj\": \"obj\",\r\n\t\r\n\t\"tmp_approvers\": [\r\n\t\t{\r\n \"level\": 1,\r\n \"is_default\": true,\r\n \"user\": \"USER-20200122-0000004\",\r\n \"delegation\": \"\"\r\n\t\t},\r\n\t\t{\r\n \"level\": 2,\r\n \"is_default\": true,\r\n \"user\": \"USER-20200122-0000002\",\r\n \"delegation\": \"DELEGATION-20191119-0000002\"\r\n\t\t},\r\n\t\t{\r\n \"level\": 3,\r\n \"is_default\": true,\r\n \"user\": \"USER-20190923-0000001\",\r\n \"delegation\": \"DELEGATION-20191119-0000001\"\r\n\t\t}\r\n\t],\r\n\t\r\n\t\"tmp_stakes\": [\r\n\t\t{\r\n\t\t\t\"delegation\": \"Mandatory Stakeholder\",\r\n\t\t\t\"user\": \"USER-20200122-0000004\"\r\n\t\t}\r\n\t],\r\n\t\r\n\t\"tmp_attachments\": [\r\n\t],\r\n\t\"tmp_details\": []\r\n}"
}, },
"url": { "url": {
"raw": "{{baseurl}}/change-request/template-post/", "raw": "{{baseurl}}/change-request/template-post/",
...@@ -3226,12 +3226,7 @@ ...@@ -3226,12 +3226,7 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\n\t\"cms_settings\": [\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000005\"\n },\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000002\"\n },\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000005\"\n }\n ]\n}", "raw": "{\n\t\"cms_settings\": [\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000005\"\n },\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000002\"\n },\n {\n \"behalf_approved\": true,\n \"behalf_accepted\": true,\n \"behalf_rejected\": true,\n \"behalf_implemented\": true,\n \"behalf_completed\": true,\n \"behalf_user\": \"USER-20200122-0000005\"\n }\n ]\n}"
"options": {
"raw": {
"language": "json"
}
}
}, },
"url": { "url": {
"raw": "{{baseurl}}/change-request/cms-settings/", "raw": "{{baseurl}}/change-request/cms-settings/",
...@@ -3461,7 +3456,7 @@ ...@@ -3461,7 +3456,7 @@
"method": "GET", "method": "GET",
"header": [], "header": [],
"url": { "url": {
"raw": "{{baseurl}}/asset-management/ams-privilege/", "raw": "{{baseurl}}/asset-management/ams-privilege/?id_number=USER-20200311-0000007",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
...@@ -3469,6 +3464,12 @@ ...@@ -3469,6 +3464,12 @@
"asset-management", "asset-management",
"ams-privilege", "ams-privilege",
"" ""
],
"query": [
{
"key": "id_number",
"value": "USER-20200311-0000007"
}
] ]
} }
}, },
...@@ -3481,12 +3482,7 @@ ...@@ -3481,12 +3482,7 @@
"header": [], "header": [],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\n\t\"body_data\": [\n {\n \"id_number\": \"USER-20200122-0000002\",\n \"department\": \"DEPARTMENT-20200122-0000003\",\n \"ams_user_type\": \"MANAGER\"\n },\n {\n \"id_number\": \"USER-20200122-0000002\",\n \"department\": \"DEPARTMENT-20200122-0000002\",\n \"ams_user_type\": \"USER_CLIENT\"\n }\n ]\n}", "raw": "{\n\t\"form\": [\n {\n \"id_number\": \"USER-20200310-0000016\",\n \"department\": \"DEPARTMENT-20200218-0000003\",\n \"ams_user_type\": \"MANAGER\"\n },\n {\n \"id_number\": \"USER-20200310-0000016\",\n \"department\": \"DEPARTMENT-20200211-0000002\",\n \"ams_user_type\": \"MANAGER\"\n }\n ]\n}"
"options": {
"raw": {
"language": "json"
}
}
}, },
"url": { "url": {
"raw": "{{baseurl}}/asset-management/ams-privilege/", "raw": "{{baseurl}}/asset-management/ams-privilege/",
...@@ -3509,6 +3505,45 @@ ...@@ -3509,6 +3505,45 @@
{ {
"name": "Asset Groups", "name": "Asset Groups",
"item": [ "item": [
{
"name": "List Asset Group",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
""
]
}
},
"response": []
},
{
"name": "View Asset Group",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/ASSTGRP-20200317-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"ASSTGRP-20200317-0000001",
""
]
}
},
"response": []
},
{ {
"name": "Create Asset Group", "name": "Create Asset Group",
"request": { "request": {
...@@ -3523,7 +3558,7 @@ ...@@ -3523,7 +3558,7 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\n\t\"name\": \"Asset Group 1\",\n\t\"asset_group\": \"JTC\"\n}" "raw": "{\n\t\"name\": \"\"\n}"
}, },
"url": { "url": {
"raw": "{{baseurl}}/asset-management/asset-group/", "raw": "{{baseurl}}/asset-management/asset-group/",
...@@ -3553,17 +3588,69 @@ ...@@ -3553,17 +3588,69 @@
], ],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\n\t\"name\": \"Asset Group 3\",\n\t\"asset_group\": \"JTCs\"\n}" "raw": "{\r\n \"name\": \"Asset Group 1\"\r\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/ASSTGRP-20200317-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"ASSTGRP-20200317-0000001",
""
]
}
},
"response": []
},
{
"name": "Archive List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"archived",
""
]
}
},
"response": []
},
{
"name": "Restore of Asset Group",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
}, },
"url": { "url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/", "raw": "{{baseurl}}/asset-management/asset-group/ASSTGRP-20200319-0000003/restore/",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
"path": [ "path": [
"asset-management", "asset-management",
"asset-group", "asset-group",
"AMSGRP-20191025-0000002", "ASSTGRP-20200319-0000003",
"restore",
"" ""
] ]
} }
...@@ -3580,14 +3667,54 @@ ...@@ -3580,14 +3667,54 @@
"raw": "" "raw": ""
}, },
"url": { "url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/", "raw": "{{baseurl}}/asset-management/asset-group/ASSTGRP-20200319-0000002/",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
"path": [ "path": [
"asset-management", "asset-management",
"asset-group", "asset-group",
"AMSGRP-20191025-0000002", "ASSTGRP-20200319-0000002",
""
]
}
},
"response": []
}
],
"protocolProfileBehavior": {},
"_postman_isSubFolder": true
},
{
"name": "Asset Type",
"item": [
{
"name": "List of Asset Type",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"cctv\",\n\t\"dynamic_field\": \"\",\n\t\"created_by\": \"USER-20190923-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-type/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-type",
"" ""
] ]
} }
...@@ -3595,19 +3722,19 @@ ...@@ -3595,19 +3722,19 @@
"response": [] "response": []
}, },
{ {
"name": "View Asset Group", "name": "View Asset Type",
"request": { "request": {
"method": "GET", "method": "GET",
"header": [], "header": [],
"url": { "url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/", "raw": "{{baseurl}}/asset-management/asset-type/ASSTTYPE-20200318-0000010/",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
"path": [ "path": [
"asset-management", "asset-management",
"asset-group", "asset-type",
"AMSGRP-20191025-0000002", "ASSTTYPE-20200318-0000010",
"" ""
] ]
} }
...@@ -3615,23 +3742,1025 @@ ...@@ -3615,23 +3742,1025 @@
"response": [] "response": []
}, },
{ {
"name": "List Asset Group", "name": "Create of Asset Type",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"cctv12\",\n\t\"dynamic_fied\": \"\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-type/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-type",
""
]
}
},
"response": []
},
{
"name": "Edit Asset Type",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"name\": \"cctv17\",\r\n \"dynamic_field\": null\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-type/ASSTTYPE-20200318-0000010/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-type",
"ASSTTYPE-20200318-0000010",
""
]
}
},
"response": []
},
{
"name": "Delete Asset Type",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-type/ASSTTYPE-20200318-0000010/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-type",
"ASSTTYPE-20200318-0000010",
""
]
}
},
"response": []
},
{
"name": "Archive List",
"request": { "request": {
"method": "GET", "method": "GET",
"header": [], "header": [],
"url": { "url": {
"raw": "{{baseurl}}/asset-management/asset-group/", "raw": "{{baseurl}}/asset-management/asset-type/archived/",
"host": [ "host": [
"{{baseurl}}" "{{baseurl}}"
], ],
"path": [ "path": [
"asset-management", "asset-management",
"asset-group", "asset-type",
"archived",
""
]
}
},
"response": []
},
{
"name": "Restore of Asset Type",
"request": {
"method": "PATCH",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-type/ASSTTYPE-20200318-0000003/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-type",
"ASSTTYPE-20200318-0000003",
"restore",
""
]
}
},
"response": []
}
],
"protocolProfileBehavior": {},
"_postman_isSubFolder": true
},
{
"name": "Asset",
"item": [
{
"name": "List of Asset",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
""
]
}
},
"response": []
},
{
"name": "List of Archived Asset",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"archived",
"" ""
] ]
} }
}, },
"response": [] "response": []
},
{
"name": "View of Asset",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"ASST-20200319-0000006",
""
]
}
},
"response": []
},
{
"name": "Stock List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/stock-list/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"ASST-20200319-0000006",
"stock-list",
""
]
},
"description": "List of Stocks under a specific asset"
},
"response": []
},
{
"name": "Delete of Asset",
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset/ASST-20200318-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"ASST-20200318-0000005",
""
]
}
},
"response": []
},
{
"name": "Restore of Asset",
"request": {
"method": "PATCH",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset/ASST-20200318-0000005/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"ASST-20200318-0000005",
"restore",
""
]
}
},
"response": []
},
{
"name": "Create of Asset",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"g1a\",\n\t\"asset_type\": \"ASSTTYPE-20200318-0000003\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
""
]
}
},
"response": []
},
{
"name": "Edit Asset",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"update\",\n\t\"asset_type\": \"ASSTTYPE-20200318-0000003\"\n}\t"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset/ASST-20200319-0000006/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset",
"ASST-20200319-0000006",
""
]
}
},
"response": []
}
],
"protocolProfileBehavior": {},
"_postman_isSubFolder": true
},
{
"name": "Asset Stock",
"item": [
{
"name": "List of Asset Stock",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
""
]
}
},
"response": []
},
{
"name": "Archive List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"archived",
""
]
}
},
"response": []
},
{
"name": "View of Asset Stock",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000008/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"ASSTSTOCK-20200319-0000008",
""
]
}
},
"response": []
},
{
"name": "Delete of Asset Stock",
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"ASSTSTOCK-20200319-0000005",
""
]
}
},
"response": []
},
{
"name": "Restore of Asset Stock",
"request": {
"method": "PATCH",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000005/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"ASSTSTOCK-20200319-0000005",
"restore",
""
]
}
},
"response": []
},
{
"name": "Update of Asset Stock",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"asset_type\": \"ASSTTYPE-20200317-0000001\",\n\t\"unique_identifier\": \"ph\",\n\t\"status\": \"In-Store\",\n\t\"acquisition_type\": \"Owned\",\n\t\"location\" : \"Country Space\",\n\t\"user_client\": \"USER-20190923-0000001\",\n\t\"manager\": \"USER-20190923-0000001\",\n\t\"dynamic_field\": \"\",\n\t\"asset\": \"ASST-20200319-0000006\",\n\t\"asset_group\": \"ASSTGRP-20200319-0000002\"\n\t\n\t\n}\n"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/ASSTSTOCK-20200319-0000008/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"ASSTSTOCK-20200319-0000008",
""
]
}
},
"response": []
},
{
"name": "Create of Asset Stock",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"asset_type\": \"ASSTTYPE-20200317-0000001\",\n\t\"unique_identifier\": \"ph-002112\",\n\t\"status\": \"In-Store\",\n\t\"acquisition_type\": \"Owned\",\n\t\"location\" : \"Country Space\",\n\t\"user_client\": \"USER-20190923-0000001\",\n\t\"manager\": \"USER-20190923-0000001\",\n\t\"dynamic_field\": \"\",\n\t\"asset\": \"ASST-20200319-0000006\",\n\t\"asset_group\": \"ASSTGRP-20200319-0000002\"\n\t\n\t\n}\n"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
""
]
}
},
"response": []
},
{
"name": "Dashboard",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{baseurl}}/asset-management/asset-stock/dashboard",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-stock",
"dashboard"
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"id": "288599a1-e537-45fe-ab0b-6af0b6abe0b0",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "3f03e962-e3bc-4194-a78d-16f9859cc02a",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {},
"_postman_isSubFolder": true
},
{
"name": "Report Type",
"item": [
{
"name": "List of Report Type",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"cctv\",\n\t\"dynamic_field\": \"\",\n\t\"created_by\": \"USER-20190923-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
""
]
}
},
"response": []
},
{
"name": "View of ReportType",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/RPTTYPE-20200318-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
"RPTTYPE-20200318-0000001",
""
]
}
},
"response": []
},
{
"name": "Archived of ReportType",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"cctv\",\n\t\"dynamic_field\": \"\",\n\t\"created_by\": \"USER-20190923-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
"archived",
""
]
}
},
"response": []
},
{
"name": "Create of Report Type",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"incident\",\n\t\"dynamic_field\": \"wowo\",\n\t\"description\": \"this is a test for report type\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
""
]
}
},
"response": []
},
{
"name": "Update of Report Type",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"incident\",\n\t\"dynamic_field\": \"\",\n\t\"description\": \"this is a test for report type\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/RPTTYPE-20200318-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
"RPTTYPE-20200318-0000001",
""
]
}
},
"response": []
},
{
"name": "Delete of Report Type",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/RPTTYPE-20200318-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
"RPTTYPE-20200318-0000001",
""
]
}
},
"response": []
},
{
"name": "Restore of Report Type",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report-type/RPTTYPE-20200318-0000001/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report-type",
"RPTTYPE-20200318-0000001",
"restore",
""
]
}
},
"response": []
}
],
"protocolProfileBehavior": {},
"_postman_isSubFolder": true
},
{
"name": "Report",
"item": [
{
"name": "List of Report Type",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
""
]
}
},
"response": []
},
{
"name": "View of ReportType",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report/RPT-20200318-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
"RPT-20200318-0000005",
""
]
}
},
"response": []
},
{
"name": "Archived of ReportType",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"cctv\",\n\t\"dynamic_field\": \"\",\n\t\"created_by\": \"USER-20190923-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
"archived",
""
]
}
},
"response": []
},
{
"name": "Create of Report Type",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Cam 17 downs\",\n\t\"dynamic_field\": \"\",\n\t\"description\": \"this is a test for report type\",\n\t\"report_type\": \"RPTTYPE-20200318-0000001\",\n\t\"asset_stock\": \"ASSTSTOCK-20200317-0000004\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
""
]
}
},
"response": []
},
{
"name": "Update of Report Type",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Cam 17 downdds\",\n\t\"dynamic_field\": \"\",\n\t\"description\": \"this is a test for report type\",\n\t\"report_type\": \"RPTTYPE-20200318-0000001\",\n\t\"asset_stock\": \"ASSTSTOCK-20200317-0000004\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/report/RPT-20200318-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
"RPT-20200318-0000005",
""
]
}
},
"response": []
},
{
"name": "Delete of Report Type",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report/RPT-20200318-0000005/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
"RPT-20200318-0000005",
""
]
}
},
"response": []
},
{
"name": "Restore of Report Type",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/report/RPT-20200318-0000005/restore/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"report",
"RPT-20200318-0000005",
"restore",
""
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"id": "dc05875a-6fd9-477c-a8bf-d5ac4385881b",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "2a8cc892-4049-4c34-ad81-01ca77c4812b",
"type": "text/javascript",
"exec": [
""
]
}
} }
], ],
"protocolProfileBehavior": {}, "protocolProfileBehavior": {},
...@@ -3646,7 +4775,7 @@ ...@@ -3646,7 +4775,7 @@
"bearer": [ "bearer": [
{ {
"key": "token", "key": "token",
"value": "4a6d5d4ce95b759f2718e64878d4be38d257022b", "value": "c62f448746704fabc7094417bdb2bab4d635a68c",
"type": "string" "type": "string"
} }
] ]
......
-- --------------------------------------------------------
-- Host: 127.0.0.1
-- Server version: 10.3.12-MariaDB - mariadb.org binary distribution
-- Server OS: Win64
-- HeidiSQL Version: 9.4.0.5125
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- Dumping data for table rms_db.allowed_company: ~8 rows (approximately)
DELETE FROM `allowed_company`;
/*!40000 ALTER TABLE `allowed_company` DISABLE KEYS */;
/*!40000 ALTER TABLE `allowed_company` ENABLE KEYS */;
-- Dumping data for table rms_db.applications: ~3 rows (approximately)
DELETE FROM `applications`;
/*!40000 ALTER TABLE `applications` DISABLE KEYS */;
INSERT INTO `applications` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`) VALUES
(1, '2019-09-23 12:43:33.754098', 'superuser', '2019-09-23 12:43:33.754098', 'superuser', 'APP-20190923-0000001', 'Resource Management System'),
(2, '2019-09-23 12:43:40.512905', 'superuser', '2019-09-23 12:43:40.512905', 'superuser', 'APP-20190923-0000002', 'Change Request Management System'),
(3, '2019-09-23 12:43:55.957076', 'superuser', '2019-09-23 12:43:55.957076', 'superuser', 'APP-20190923-0000003', 'Asset Management System');
/*!40000 ALTER TABLE `applications` ENABLE KEYS */;
-- Dumping data for table rms_db.attachments: ~0 rows (approximately)
DELETE FROM `attachments`;
/*!40000 ALTER TABLE `attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.authtoken_token: ~7 rows (approximately)
DELETE FROM `authtoken_token`;
/*!40000 ALTER TABLE `authtoken_token` DISABLE KEYS */;
/*!40000 ALTER TABLE `authtoken_token` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_access_token: ~4 rows (approximately)
DELETE FROM `auth_access_token`;
/*!40000 ALTER TABLE `auth_access_token` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_access_token` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_group: ~0 rows (approximately)
DELETE FROM `auth_group`;
/*!40000 ALTER TABLE `auth_group` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_group` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_group_permissions: ~0 rows (approximately)
DELETE FROM `auth_group_permissions`;
/*!40000 ALTER TABLE `auth_group_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_group_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_permission: ~216 rows (approximately)
DELETE FROM `auth_permission`;
/*!40000 ALTER TABLE `auth_permission` DISABLE KEYS */;
INSERT INTO `auth_permission` (`id`, `name`, `content_type_id`, `codename`) VALUES
(1, 'Can add log entry', 1, 'add_logentry'),
(2, 'Can change log entry', 1, 'change_logentry'),
(3, 'Can delete log entry', 1, 'delete_logentry'),
(4, 'Can view log entry', 1, 'view_logentry'),
(5, 'Can add permission', 2, 'add_permission'),
(6, 'Can change permission', 2, 'change_permission'),
(7, 'Can delete permission', 2, 'delete_permission'),
(8, 'Can view permission', 2, 'view_permission'),
(9, 'Can add group', 3, 'add_group'),
(10, 'Can change group', 3, 'change_group'),
(11, 'Can delete group', 3, 'delete_group'),
(12, 'Can view group', 3, 'view_group'),
(13, 'Can add content type', 4, 'add_contenttype'),
(14, 'Can change content type', 4, 'change_contenttype'),
(15, 'Can delete content type', 4, 'delete_contenttype'),
(16, 'Can view content type', 4, 'view_contenttype'),
(17, 'Can add session', 5, 'add_session'),
(18, 'Can change session', 5, 'change_session'),
(19, 'Can delete session', 5, 'delete_session'),
(20, 'Can view session', 5, 'view_session'),
(21, 'Can add Token', 6, 'add_token'),
(22, 'Can change Token', 6, 'change_token'),
(23, 'Can delete Token', 6, 'delete_token'),
(24, 'Can view Token', 6, 'view_token'),
(25, 'Can add user', 7, 'add_user'),
(26, 'Can change user', 7, 'change_user'),
(27, 'Can delete user', 7, 'delete_user'),
(28, 'Can view user', 7, 'view_user'),
(29, 'Can add application', 8, 'add_application'),
(30, 'Can change application', 8, 'change_application'),
(31, 'Can delete application', 8, 'delete_application'),
(32, 'Can view application', 8, 'view_application'),
(33, 'Can add attachment', 9, 'add_attachment'),
(34, 'Can change attachment', 9, 'change_attachment'),
(35, 'Can delete attachment', 9, 'delete_attachment'),
(36, 'Can view attachment', 9, 'view_attachment'),
(37, 'Can add change request form header', 10, 'add_changerequestformheader'),
(38, 'Can change change request form header', 10, 'change_changerequestformheader'),
(39, 'Can delete change request form header', 10, 'delete_changerequestformheader'),
(40, 'Can view change request form header', 10, 'view_changerequestformheader'),
(41, 'Can add change request history', 11, 'add_changerequesthistory'),
(42, 'Can change change request history', 11, 'change_changerequesthistory'),
(43, 'Can delete change request history', 11, 'delete_changerequesthistory'),
(44, 'Can view change request history', 11, 'view_changerequesthistory'),
(45, 'Can add change request template header', 12, 'add_changerequesttemplateheader'),
(46, 'Can change change request template header', 12, 'change_changerequesttemplateheader'),
(47, 'Can delete change request template header', 12, 'delete_changerequesttemplateheader'),
(48, 'Can view change request template header', 12, 'view_changerequesttemplateheader'),
(49, 'Can add company', 13, 'add_company'),
(50, 'Can change company', 13, 'change_company'),
(51, 'Can delete company', 13, 'delete_company'),
(52, 'Can view company', 13, 'view_company'),
(53, 'Can add email logs', 14, 'add_emaillogs'),
(54, 'Can change email logs', 14, 'change_emaillogs'),
(55, 'Can delete email logs', 14, 'delete_emaillogs'),
(56, 'Can view email logs', 14, 'view_emaillogs'),
(57, 'Can add entity log', 15, 'add_entitylog'),
(58, 'Can change entity log', 15, 'change_entitylog'),
(59, 'Can delete entity log', 15, 'delete_entitylog'),
(60, 'Can view entity log', 15, 'view_entitylog'),
(61, 'Can add password reset', 16, 'add_passwordreset'),
(62, 'Can change password reset', 16, 'change_passwordreset'),
(63, 'Can delete password reset', 16, 'delete_passwordreset'),
(64, 'Can view password reset', 16, 'view_passwordreset'),
(65, 'Can add permission', 17, 'add_permission'),
(66, 'Can change permission', 17, 'change_permission'),
(67, 'Can delete permission', 17, 'delete_permission'),
(68, 'Can view permission', 17, 'view_permission'),
(69, 'Can add role', 18, 'add_role'),
(70, 'Can change role', 18, 'change_role'),
(71, 'Can delete role', 18, 'delete_role'),
(72, 'Can view role', 18, 'view_role'),
(73, 'Can add status', 19, 'add_status'),
(74, 'Can change status', 19, 'change_status'),
(75, 'Can delete status', 19, 'delete_status'),
(76, 'Can view status', 19, 'view_status'),
(77, 'Can add user image', 20, 'add_userimage'),
(78, 'Can change user image', 20, 'change_userimage'),
(79, 'Can delete user image', 20, 'delete_userimage'),
(80, 'Can view user image', 20, 'view_userimage'),
(81, 'Can add role permission', 21, 'add_rolepermission'),
(82, 'Can change role permission', 21, 'change_rolepermission'),
(83, 'Can delete role permission', 21, 'delete_rolepermission'),
(84, 'Can view role permission', 21, 'view_rolepermission'),
(85, 'Can add notification', 22, 'add_notification'),
(86, 'Can change notification', 22, 'change_notification'),
(87, 'Can delete notification', 22, 'delete_notification'),
(88, 'Can view notification', 22, 'view_notification'),
(89, 'Can add module', 23, 'add_module'),
(90, 'Can change module', 23, 'change_module'),
(91, 'Can delete module', 23, 'delete_module'),
(92, 'Can view module', 23, 'view_module'),
(93, 'Can add department', 24, 'add_department'),
(94, 'Can change department', 24, 'change_department'),
(95, 'Can delete department', 24, 'delete_department'),
(96, 'Can view department', 24, 'view_department'),
(97, 'Can add change request template stake holders', 25, 'add_changerequesttemplatestakeholders'),
(98, 'Can change change request template stake holders', 25, 'change_changerequesttemplatestakeholders'),
(99, 'Can delete change request template stake holders', 25, 'delete_changerequesttemplatestakeholders'),
(100, 'Can view change request template stake holders', 25, 'view_changerequesttemplatestakeholders'),
(101, 'Can add change request template details', 26, 'add_changerequesttemplatedetails'),
(102, 'Can change change request template details', 26, 'change_changerequesttemplatedetails'),
(103, 'Can delete change request template details', 26, 'delete_changerequesttemplatedetails'),
(104, 'Can view change request template details', 26, 'view_changerequesttemplatedetails'),
(105, 'Can add change request template attachments', 27, 'add_changerequesttemplateattachments'),
(106, 'Can change change request template attachments', 27, 'change_changerequesttemplateattachments'),
(107, 'Can delete change request template attachments', 27, 'delete_changerequesttemplateattachments'),
(108, 'Can view change request template attachments', 27, 'view_changerequesttemplateattachments'),
(109, 'Can add change request template approvers', 28, 'add_changerequesttemplateapprovers'),
(110, 'Can change change request template approvers', 28, 'change_changerequesttemplateapprovers'),
(111, 'Can delete change request template approvers', 28, 'delete_changerequesttemplateapprovers'),
(112, 'Can view change request template approvers', 28, 'view_changerequesttemplateapprovers'),
(113, 'Can add change request form stake holders', 29, 'add_changerequestformstakeholders'),
(114, 'Can change change request form stake holders', 29, 'change_changerequestformstakeholders'),
(115, 'Can delete change request form stake holders', 29, 'delete_changerequestformstakeholders'),
(116, 'Can view change request form stake holders', 29, 'view_changerequestformstakeholders'),
(117, 'Can add change request form details', 30, 'add_changerequestformdetails'),
(118, 'Can change change request form details', 30, 'change_changerequestformdetails'),
(119, 'Can delete change request form details', 30, 'delete_changerequestformdetails'),
(120, 'Can view change request form details', 30, 'view_changerequestformdetails'),
(121, 'Can add change request form attachments', 31, 'add_changerequestformattachments'),
(122, 'Can change change request form attachments', 31, 'change_changerequestformattachments'),
(123, 'Can delete change request form attachments', 31, 'delete_changerequestformattachments'),
(124, 'Can view change request form attachments', 31, 'view_changerequestformattachments'),
(125, 'Can add change request form approvers', 32, 'add_changerequestformapprovers'),
(126, 'Can change change request form approvers', 32, 'change_changerequestformapprovers'),
(127, 'Can delete change request form approvers', 32, 'delete_changerequestformapprovers'),
(128, 'Can view change request form approvers', 32, 'view_changerequestformapprovers'),
(129, 'Can add auth token', 33, 'add_authtoken'),
(130, 'Can change auth token', 33, 'change_authtoken'),
(131, 'Can delete auth token', 33, 'delete_authtoken'),
(132, 'Can view auth token', 33, 'view_authtoken'),
(133, 'Can add allowed company', 34, 'add_allowedcompany'),
(134, 'Can change allowed company', 34, 'change_allowedcompany'),
(135, 'Can delete allowed company', 34, 'delete_allowedcompany'),
(136, 'Can view allowed company', 34, 'view_allowedcompany'),
(141, 'Can add master attachment', 16, 'add_masterattachment'),
(142, 'Can change master attachment', 16, 'change_masterattachment'),
(143, 'Can delete master attachment', 16, 'delete_masterattachment'),
(144, 'Can view master attachment', 16, 'view_masterattachment'),
(145, 'Can add notification', 17, 'add_notification'),
(146, 'Can change notification', 17, 'change_notification'),
(147, 'Can delete notification', 17, 'delete_notification'),
(148, 'Can view notification', 17, 'view_notification'),
(149, 'Can add password reset', 18, 'add_passwordreset'),
(150, 'Can change password reset', 18, 'change_passwordreset'),
(151, 'Can delete password reset', 18, 'delete_passwordreset'),
(152, 'Can view password reset', 18, 'view_passwordreset'),
(153, 'Can add permission', 19, 'add_permission'),
(154, 'Can change permission', 19, 'change_permission'),
(155, 'Can delete permission', 19, 'delete_permission'),
(156, 'Can view permission', 19, 'view_permission'),
(157, 'Can add role', 20, 'add_role'),
(158, 'Can change role', 20, 'change_role'),
(159, 'Can delete role', 20, 'delete_role'),
(160, 'Can view role', 20, 'view_role'),
(161, 'Can add status', 21, 'add_status'),
(162, 'Can change status', 21, 'change_status'),
(163, 'Can delete status', 21, 'delete_status'),
(164, 'Can view status', 21, 'view_status'),
(165, 'Can add user image', 22, 'add_userimage'),
(166, 'Can change user image', 22, 'change_userimage'),
(167, 'Can delete user image', 22, 'delete_userimage'),
(168, 'Can view user image', 22, 'view_userimage'),
(169, 'Can add role permission', 23, 'add_rolepermission'),
(170, 'Can change role permission', 23, 'change_rolepermission'),
(171, 'Can delete role permission', 23, 'delete_rolepermission'),
(172, 'Can view role permission', 23, 'view_rolepermission'),
(173, 'Can add module', 24, 'add_module'),
(174, 'Can change module', 24, 'change_module'),
(175, 'Can delete module', 24, 'delete_module'),
(176, 'Can view module', 24, 'view_module'),
(177, 'Can add department', 25, 'add_department'),
(178, 'Can change department', 25, 'change_department'),
(179, 'Can delete department', 25, 'delete_department'),
(180, 'Can view department', 25, 'view_department'),
(181, 'Can add change request template stake holders', 26, 'add_changerequesttemplatestakeholders'),
(182, 'Can change change request template stake holders', 26, 'change_changerequesttemplatestakeholders'),
(183, 'Can delete change request template stake holders', 26, 'delete_changerequesttemplatestakeholders'),
(184, 'Can view change request template stake holders', 26, 'view_changerequesttemplatestakeholders'),
(185, 'Can add change request template details', 27, 'add_changerequesttemplatedetails'),
(186, 'Can change change request template details', 27, 'change_changerequesttemplatedetails'),
(187, 'Can delete change request template details', 27, 'delete_changerequesttemplatedetails'),
(188, 'Can view change request template details', 27, 'view_changerequesttemplatedetails'),
(189, 'Can add change request template attachments', 28, 'add_changerequesttemplateattachments'),
(190, 'Can change change request template attachments', 28, 'change_changerequesttemplateattachments'),
(191, 'Can delete change request template attachments', 28, 'delete_changerequesttemplateattachments'),
(192, 'Can view change request template attachments', 28, 'view_changerequesttemplateattachments'),
(193, 'Can add change request template approvers', 29, 'add_changerequesttemplateapprovers'),
(194, 'Can change change request template approvers', 29, 'change_changerequesttemplateapprovers'),
(195, 'Can delete change request template approvers', 29, 'delete_changerequesttemplateapprovers'),
(196, 'Can view change request template approvers', 29, 'view_changerequesttemplateapprovers'),
(197, 'Can add change request form stake holders', 30, 'add_changerequestformstakeholders'),
(198, 'Can change change request form stake holders', 30, 'change_changerequestformstakeholders'),
(199, 'Can delete change request form stake holders', 30, 'delete_changerequestformstakeholders'),
(200, 'Can view change request form stake holders', 30, 'view_changerequestformstakeholders'),
(201, 'Can add change request form details', 31, 'add_changerequestformdetails'),
(202, 'Can change change request form details', 31, 'change_changerequestformdetails'),
(203, 'Can delete change request form details', 31, 'delete_changerequestformdetails'),
(204, 'Can view change request form details', 31, 'view_changerequestformdetails'),
(205, 'Can add change request form attachments', 32, 'add_changerequestformattachments'),
(206, 'Can change change request form attachments', 32, 'change_changerequestformattachments'),
(207, 'Can delete change request form attachments', 32, 'delete_changerequestformattachments'),
(208, 'Can view change request form attachments', 32, 'view_changerequestformattachments'),
(209, 'Can add change request form approvers', 33, 'add_changerequestformapprovers'),
(210, 'Can change change request form approvers', 33, 'change_changerequestformapprovers'),
(211, 'Can delete change request form approvers', 33, 'delete_changerequestformapprovers'),
(212, 'Can view change request form approvers', 33, 'view_changerequestformapprovers'),
(213, 'Can add auth token', 34, 'add_authtoken'),
(214, 'Can change auth token', 34, 'change_authtoken'),
(215, 'Can delete auth token', 34, 'delete_authtoken'),
(216, 'Can view auth token', 34, 'view_authtoken'),
(217, 'Can add allowed company', 35, 'add_allowedcompany'),
(218, 'Can change allowed company', 35, 'change_allowedcompany'),
(219, 'Can delete allowed company', 35, 'delete_allowedcompany'),
(220, 'Can view allowed company', 35, 'view_allowedcompany');
/*!40000 ALTER TABLE `auth_permission` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user: ~9 rows (approximately)
DELETE FROM `auth_user`;
/*!40000 ALTER TABLE `auth_user` DISABLE KEYS */;
INSERT INTO `auth_user` (`id`, `last_login`, `is_superuser`, `first_name`, `last_name`, `is_staff`, `is_active`, `date_joined`, `user_type`, `code`, `name`, `username`, `password`, `contact_no`, `email`, `default_app_id`, `department_id`, `doa_id`) VALUES
(1, '2019-10-03 15:18:44.173147', 1, '', '', 1, 1, '2019-09-23 12:42:37.938304', 'SU', 'USER-20190923-0000001', '', 'superuser', 'pbkdf2_sha256$150000$iRXbWni4Raha$8DJ3wThPtpO9yupcR/cZZQjSQz5DTTLrj2SWClkcqDc=', NULL, 'red@tirsolutions.com', 'APP-20190923-0000001', 'DEPARTMENT-20190923-0000001', NULL);
/*!40000 ALTER TABLE `auth_user` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_application: ~14 rows (approximately)
DELETE FROM `auth_user_application`;
/*!40000 ALTER TABLE `auth_user_application` DISABLE KEYS */;
INSERT INTO `auth_user_application` (`id`, `user_id`, `application_id`) VALUES
(1, 1, 1),
(2, 1, 2),
(3, 1, 3);
/*!40000 ALTER TABLE `auth_user_application` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_groups: ~0 rows (approximately)
DELETE FROM `auth_user_groups`;
/*!40000 ALTER TABLE `auth_user_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_groups` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_images: ~0 rows (approximately)
DELETE FROM `auth_user_images`;
/*!40000 ALTER TABLE `auth_user_images` DISABLE KEYS */;
INSERT INTO `auth_user_images` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `name`, `image`, `is_primary`, `user_id`) VALUES
(10, '2019-10-01 12:05:24.239213', 'superuser', '2019-10-01 12:05:24.239256', 'superuser', '_profile_pic.jpeg', 'user_images/_profile_pic.jpeg', 1, 'USER-20190923-0000001');
/*!40000 ALTER TABLE `auth_user_images` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_user_permissions: ~0 rows (approximately)
DELETE FROM `auth_user_user_permissions`;
/*!40000 ALTER TABLE `auth_user_user_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_user_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_approvers: ~26 rows (approximately)
DELETE FROM `change_request_form_approvers`;
/*!40000 ALTER TABLE `change_request_form_approvers` DISABLE KEYS */;
INSERT INTO `change_request_form_approvers` (`id`, `level`, `delegation`, `created`, `code`, `remarks`, `action`, `action_date`, `date_sent`, `form_code_id`, `user_id`) VALUES
(116, 1, 'Head of Department', '2019-10-01 19:12:04.700011', 'FRMAPR-20191001-0000116', NULL, NULL, NULL, '2019-10-01 19:12:29.882338', 'FRM-20191001-0000042', 'USER-20191001-0000055'),
(117, 2, 'SD/OD', '2019-10-01 19:12:04.703323', 'FRMAPR-20191001-0000117', NULL, NULL, NULL, NULL, 'FRM-20191001-0000042', 'USER-20191001-0000056'),
(118, 3, 'Change Control Board', '2019-10-01 19:12:04.706016', 'FRMAPR-20191001-0000118', NULL, NULL, NULL, '2019-10-02 18:27:59.583238', 'FRM-20191001-0000042', 'USER-20191001-0000057'),
(119, 4, 'Vendor/Implementor', '2019-10-01 19:12:04.708796', 'FRMAPR-20191001-0000119', NULL, NULL, NULL, NULL, 'FRM-20191001-0000042', 'USER-20191001-0000053'),
(120, 5, 'Requestor', '2019-10-01 19:12:04.711122', 'FRMAPR-20191001-0000120', NULL, 'Cancelled', '2019-10-01 19:16:55.659920', '2019-10-01 19:42:47.375857', 'FRM-20191001-0000042', 'USER-20191001-0000054'),
(121, 1, 'Head of Department', '2019-10-01 19:33:48.566171', 'FRMAPR-20191001-0000121', NULL, 'Approved', '2019-10-01 19:37:10.536459', '2019-10-01 19:36:46.745988', 'FRM-20191001-0000043', 'USER-20191001-0000055'),
(122, 2, 'SD/OD', '2019-10-01 19:33:48.568940', 'FRMAPR-20191001-0000122', NULL, 'Approved', '2019-10-01 19:40:55.413820', '2019-10-01 19:37:10.607194', 'FRM-20191001-0000043', 'USER-20191001-0000056'),
(123, 3, 'Change Control Board', '2019-10-01 19:33:48.571323', 'FRMAPR-20191001-0000123', NULL, 'Approved', '2019-10-01 19:41:30.834938', '2019-10-02 18:27:59.583238', 'FRM-20191001-0000043', 'USER-20191001-0000057'),
(124, 4, 'Vendor/Implementor', '2019-10-01 19:33:48.573608', 'FRMAPR-20191001-0000124', NULL, 'Completed', '2019-10-01 19:42:47.339763', '2019-10-01 19:41:30.900888', 'FRM-20191001-0000043', 'USER-20191001-0000053'),
(125, 5, 'Requestor', '2019-10-01 19:33:48.575976', 'FRMAPR-20191001-0000125', NULL, 'Accepted', '2019-10-01 19:43:34.656024', '2019-10-01 19:42:47.375857', 'FRM-20191001-0000043', 'USER-20191001-0000054'),
(126, 2, 'SD/OD', '2019-10-02 17:30:48.038404', 'FRMAPR-20191002-0000126', NULL, NULL, NULL, NULL, 'FRM-20191002-0000044', 'USER-20191001-0000056'),
(127, 3, 'Change Control Board', '2019-10-02 17:30:48.040808', 'FRMAPR-20191002-0000127', NULL, NULL, NULL, '2019-10-02 18:27:59.583238', 'FRM-20191002-0000044', 'USER-20191001-0000057'),
(128, 4, 'Vendor/Implementor', '2019-10-02 17:30:48.043164', 'FRMAPR-20191002-0000128', NULL, NULL, NULL, NULL, 'FRM-20191002-0000044', 'USER-20191001-0000053'),
(129, 1, 'Head of Department', '2019-10-02 17:30:48.045411', 'FRMAPR-20191002-0000129', NULL, 'Rejected', '2019-10-02 17:34:21.063749', '2019-10-02 17:30:48.147058', 'FRM-20191002-0000044', 'USER-20191001-0000054'),
(130, 1, 'Approver', '2019-10-02 17:58:52.353101', 'FRMAPR-20191002-0000130', NULL, NULL, NULL, NULL, 'FRM-20191002-0000045', 'USER-20191001-0000053'),
(131, 2, 'Vendor/Implementor', '2019-10-02 17:58:52.358227', 'FRMAPR-20191002-0000131', NULL, NULL, NULL, NULL, 'FRM-20191002-0000045', 'USER-20191002-0000059'),
(132, 3, 'Requestor', '2019-10-02 17:58:52.360588', 'FRMAPR-20191002-0000132', NULL, NULL, NULL, NULL, 'FRM-20191002-0000045', 'USER-20191002-0000059'),
(133, 1, 'Approver', '2019-10-02 18:18:36.605123', 'FRMAPR-20191002-0000133', NULL, 'Rejected', '2019-10-02 18:19:30.808425', '2019-10-02 18:18:36.692151', 'FRM-20191002-0000046', 'USER-20191001-0000053'),
(134, 2, 'Vendor/Implementor', '2019-10-02 18:18:36.607612', 'FRMAPR-20191002-0000134', NULL, NULL, NULL, NULL, 'FRM-20191002-0000046', 'USER-20191002-0000059'),
(135, 3, 'Requestor', '2019-10-02 18:18:36.610149', 'FRMAPR-20191002-0000135', NULL, NULL, NULL, '2019-10-02 18:27:59.583238', 'FRM-20191002-0000046', 'USER-20191002-0000059'),
(136, 1, 'Approver', '2019-10-02 18:23:38.427186', 'FRMAPR-20191002-0000136', NULL, NULL, NULL, NULL, 'FRM-20191002-0000047', 'USER-20191001-0000053'),
(137, 2, 'Vendor/Implementor', '2019-10-02 18:23:38.429523', 'FRMAPR-20191002-0000137', NULL, NULL, NULL, NULL, 'FRM-20191002-0000047', 'USER-20191002-0000059'),
(138, 3, 'Requestor', '2019-10-02 18:23:38.431805', 'FRMAPR-20191002-0000138', NULL, NULL, NULL, NULL, 'FRM-20191002-0000047', 'USER-20191002-0000059'),
(139, 1, 'Head of Department', '2019-10-03 10:29:31.274592', 'FRMAPR-20191003-0000139', NULL, NULL, NULL, NULL, 'FRM-20191003-0000048', 'USER-20191001-0000055'),
(140, 2, 'Requestor', '2019-10-03 10:29:31.277013', 'FRMAPR-20191003-0000140', NULL, NULL, NULL, NULL, 'FRM-20191003-0000048', 'USER-20191001-0000053'),
(141, 3, 'Vendor/Implementor', '2019-10-03 10:29:31.279272', 'FRMAPR-20191003-0000141', NULL, NULL, NULL, NULL, 'FRM-20191003-0000048', 'USER-20191002-0000059');
/*!40000 ALTER TABLE `change_request_form_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_attachments: ~4 rows (approximately)
DELETE FROM `change_request_form_attachments`;
/*!40000 ALTER TABLE `change_request_form_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_details: ~51 rows (approximately)
DELETE FROM `change_request_form_details`;
/*!40000 ALTER TABLE `change_request_form_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_headers: ~7 rows (approximately)
DELETE FROM `change_request_form_headers`;
/*!40000 ALTER TABLE `change_request_form_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_form_stakeholders`;
/*!40000 ALTER TABLE `change_request_form_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_history: ~4 rows (approximately)
DELETE FROM `change_request_history`;
/*!40000 ALTER TABLE `change_request_history` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_history` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_approvers: ~14 rows (approximately)
DELETE FROM `change_request_template_approvers`;
/*!40000 ALTER TABLE `change_request_template_approvers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_attachments: ~0 rows (approximately)
DELETE FROM `change_request_template_attachments`;
/*!40000 ALTER TABLE `change_request_template_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_details: ~17 rows (approximately)
DELETE FROM `change_request_template_details`;
/*!40000 ALTER TABLE `change_request_template_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_headers: ~6 rows (approximately)
DELETE FROM `change_request_template_headers`;
/*!40000 ALTER TABLE `change_request_template_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_template_stakeholders`;
/*!40000 ALTER TABLE `change_request_template_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.companies: ~4 rows (approximately)
DELETE FROM `companies`;
/*!40000 ALTER TABLE `companies` DISABLE KEYS */;
INSERT INTO `companies` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `contact_details`) VALUES
(1, '2019-09-23 12:45:31.058709', 'superuser', '2019-10-01 18:10:40.098534', 'superuser', 'COMPANY-20190923-0000001', 'Oneberry Technologies Pte Ltd', '2152509');
/*!40000 ALTER TABLE `companies` ENABLE KEYS */;
-- Dumping data for table rms_db.departments: ~6 rows (approximately)
DELETE FROM `departments`;
/*!40000 ALTER TABLE `departments` DISABLE KEYS */;
INSERT INTO `departments` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `company_id`) VALUES
(1, '2019-09-23 12:45:52.531178', 'superuser', '2019-10-01 18:12:27.956536', 'superuser', 'DEPARTMENT-20190923-0000001', 'Super User', 'COMPANY-20190923-0000001');
/*!40000 ALTER TABLE `departments` ENABLE KEYS */;
-- Dumping data for table rms_db.email_logs: ~94 rows (approximately)
DELETE FROM `email_logs`;
/*!40000 ALTER TABLE `email_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `email_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.entity_logs: ~0 rows (approximately)
DELETE FROM `entity_logs`;
/*!40000 ALTER TABLE `entity_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `entity_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.master_attachments: ~0 rows (approximately)
DELETE FROM `master_attachments`;
/*!40000 ALTER TABLE `master_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `master_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.modules: ~0 rows (approximately)
DELETE FROM `modules`;
/*!40000 ALTER TABLE `modules` DISABLE KEYS */;
INSERT INTO `modules` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `sort_id`, `component`, `application_id`, `parent_id`) VALUES
(1, '2019-09-27 12:49:27.795897', 'superuser', '2019-09-27 12:49:27.795897', 'superuser', 'MODULE-20190927-0000001', 'Application Management', 1, 'rms/application-management', 'APP-20190923-0000001', NULL),
(2, '2019-09-27 12:49:31.756321', 'superuser', '2019-09-27 13:00:57.280102', 'superuser', 'MODULE-20190927-0000002', 'Company Management', 2, 'rms/company-management', 'APP-20190923-0000001', NULL),
(3, '2019-09-27 12:49:49.528430', 'superuser', '2019-09-27 13:00:18.423200', 'superuser', 'MODULE-20190927-0000003', 'Department Management', 4, 'rms/department-management', 'APP-20190923-0000001', NULL),
(4, '2019-09-27 12:49:57.378955', 'superuser', '2019-09-27 12:58:07.634481', 'superuser', 'MODULE-20190927-0000004', 'Module Management', 5, 'rms/module-management', 'APP-20190923-0000001', NULL),
(5, '2019-09-27 12:50:01.383432', 'superuser', '2019-09-30 14:37:53.210860', 'superuser', 'MODULE-20190927-0000005', 'User Management', 6, 'rms/user-management', 'APP-20190923-0000001', NULL),
(6, '2019-09-27 12:50:15.910699', 'superuser', '2019-09-27 19:04:53.805099', 'superuser', 'MODULE-20190927-0000006', 'Change Request Template', 3, 'cms/change-request/template', 'APP-20190923-0000002', NULL),
(10, '2019-09-28 12:28:20.174483', 'superuser', '2019-09-30 14:38:38.604217', 'superuser', 'MODULE-20190928-0000010', 'Change Request Form', 2, 'cms/change-request/form', 'APP-20190923-0000002', NULL),
(11, '2019-09-30 17:15:33.022534', 'superuser', '2019-09-30 17:15:33.022578', 'superuser', 'MODULE-20190930-0000011', 'Notification', 1, 'cms/notifications', 'APP-20190923-0000002', NULL);
/*!40000 ALTER TABLE `modules` ENABLE KEYS */;
-- Dumping data for table rms_db.notifications: ~0 rows (approximately)
DELETE FROM `notifications`;
/*!40000 ALTER TABLE `notifications` DISABLE KEYS */;
/*!40000 ALTER TABLE `notifications` ENABLE KEYS */;
-- Dumping data for table rms_db.password_resets: ~0 rows (approximately)
DELETE FROM `password_resets`;
/*!40000 ALTER TABLE `password_resets` DISABLE KEYS */;
/*!40000 ALTER TABLE `password_resets` ENABLE KEYS */;
-- Dumping data for table rms_db.permissions: ~0 rows (approximately)
DELETE FROM `permissions`;
/*!40000 ALTER TABLE `permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.roles: ~0 rows (approximately)
DELETE FROM `roles`;
/*!40000 ALTER TABLE `roles` DISABLE KEYS */;
/*!40000 ALTER TABLE `roles` ENABLE KEYS */;
-- Dumping data for table rms_db.role_permissions: ~0 rows (approximately)
DELETE FROM `role_permissions`;
/*!40000 ALTER TABLE `role_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `role_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.status_set: ~0 rows (approximately)
DELETE FROM `status_set`;
/*!40000 ALTER TABLE `status_set` DISABLE KEYS */;
/*!40000 ALTER TABLE `status_set` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-- --------------------------------------------------------
-- Host: 127.0.0.1
-- Server version: 10.3.12-MariaDB - mariadb.org binary distribution
-- Server OS: Win64
-- HeidiSQL Version: 9.4.0.5125
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- Dumping database structure for rms_db
CREATE DATABASE IF NOT EXISTS `rms_db` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `rms_db`;
-- Dumping data for table rms_db.allowed_company: ~0 rows (approximately)
DELETE FROM `allowed_company`;
/*!40000 ALTER TABLE `allowed_company` DISABLE KEYS */;
/*!40000 ALTER TABLE `allowed_company` ENABLE KEYS */;
-- Dumping data for table rms_db.applications: ~3 rows (approximately)
DELETE FROM `applications`;
/*!40000 ALTER TABLE `applications` DISABLE KEYS */;
INSERT INTO `applications` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `excel_code`) VALUES
(1, '2019-09-23 12:43:33.754098', 'superuser', '2019-09-23 12:43:33.754098', 'superuser', 'APP-20190923-0000001', 'Resource Management System', 'rms'),
(2, '2019-09-23 12:43:40.512905', 'superuser', '2019-09-23 12:43:40.512905', 'superuser', 'APP-20190923-0000002', 'Change Request Management System', 'cms'),
(3, '2019-09-23 12:43:55.957076', 'superuser', '2019-09-23 12:43:55.957076', 'superuser', 'APP-20190923-0000003', 'Asset Management System', 'ams');
/*!40000 ALTER TABLE `applications` ENABLE KEYS */;
-- Dumping data for table rms_db.asset_groups: ~0 rows (approximately)
DELETE FROM `asset_groups`;
/*!40000 ALTER TABLE `asset_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `asset_groups` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_permission: ~388 rows (approximately)
DELETE FROM `auth_permission`;
/*!40000 ALTER TABLE `auth_permission` DISABLE KEYS */;
INSERT INTO `auth_permission` (`id`, `name`, `content_type_id`, `codename`) VALUES
(1, 'Can add log entry', 1, 'add_logentry'),
(2, 'Can change log entry', 1, 'change_logentry'),
(3, 'Can delete log entry', 1, 'delete_logentry'),
(4, 'Can view log entry', 1, 'view_logentry'),
(5, 'Can add permission', 2, 'add_permission'),
(6, 'Can change permission', 2, 'change_permission'),
(7, 'Can delete permission', 2, 'delete_permission'),
(8, 'Can view permission', 2, 'view_permission'),
(9, 'Can add group', 3, 'add_group'),
(10, 'Can change group', 3, 'change_group'),
(11, 'Can delete group', 3, 'delete_group'),
(12, 'Can view group', 3, 'view_group'),
(13, 'Can add content type', 4, 'add_contenttype'),
(14, 'Can change content type', 4, 'change_contenttype'),
(15, 'Can delete content type', 4, 'delete_contenttype'),
(16, 'Can view content type', 4, 'view_contenttype'),
(17, 'Can add session', 5, 'add_session'),
(18, 'Can change session', 5, 'change_session'),
(19, 'Can delete session', 5, 'delete_session'),
(20, 'Can view session', 5, 'view_session'),
(21, 'Can add Token', 6, 'add_token'),
(22, 'Can change Token', 6, 'change_token'),
(23, 'Can delete Token', 6, 'delete_token'),
(24, 'Can view Token', 6, 'view_token'),
(25, 'Can add user', 7, 'add_user'),
(26, 'Can change user', 7, 'change_user'),
(27, 'Can delete user', 7, 'delete_user'),
(28, 'Can view user', 7, 'view_user'),
(29, 'Can add application', 8, 'add_application'),
(30, 'Can change application', 8, 'change_application'),
(31, 'Can delete application', 8, 'delete_application'),
(32, 'Can view application', 8, 'view_application'),
(33, 'Can add attachment', 9, 'add_attachment'),
(34, 'Can change attachment', 9, 'change_attachment'),
(35, 'Can delete attachment', 9, 'delete_attachment'),
(36, 'Can view attachment', 9, 'view_attachment'),
(37, 'Can add change request form header', 10, 'add_changerequestformheader'),
(38, 'Can change change request form header', 10, 'change_changerequestformheader'),
(39, 'Can delete change request form header', 10, 'delete_changerequestformheader'),
(40, 'Can view change request form header', 10, 'view_changerequestformheader'),
(41, 'Can add change request history', 11, 'add_changerequesthistory'),
(42, 'Can change change request history', 11, 'change_changerequesthistory'),
(43, 'Can delete change request history', 11, 'delete_changerequesthistory'),
(44, 'Can view change request history', 11, 'view_changerequesthistory'),
(45, 'Can add change request template header', 12, 'add_changerequesttemplateheader'),
(46, 'Can change change request template header', 12, 'change_changerequesttemplateheader'),
(47, 'Can delete change request template header', 12, 'delete_changerequesttemplateheader'),
(48, 'Can view change request template header', 12, 'view_changerequesttemplateheader'),
(49, 'Can add company', 13, 'add_company'),
(50, 'Can change company', 13, 'change_company'),
(51, 'Can delete company', 13, 'delete_company'),
(52, 'Can view company', 13, 'view_company'),
(53, 'Can add email logs', 14, 'add_emaillogs'),
(54, 'Can change email logs', 14, 'change_emaillogs'),
(55, 'Can delete email logs', 14, 'delete_emaillogs'),
(56, 'Can view email logs', 14, 'view_emaillogs'),
(57, 'Can add entity log', 15, 'add_entitylog'),
(58, 'Can change entity log', 15, 'change_entitylog'),
(59, 'Can delete entity log', 15, 'delete_entitylog'),
(60, 'Can view entity log', 15, 'view_entitylog'),
(61, 'Can add password reset', 16, 'add_passwordreset'),
(62, 'Can change password reset', 16, 'change_passwordreset'),
(63, 'Can delete password reset', 16, 'delete_passwordreset'),
(64, 'Can view password reset', 16, 'view_passwordreset'),
(65, 'Can add permission', 17, 'add_permission'),
(66, 'Can change permission', 17, 'change_permission'),
(67, 'Can delete permission', 17, 'delete_permission'),
(68, 'Can view permission', 17, 'view_permission'),
(69, 'Can add role', 18, 'add_role'),
(70, 'Can change role', 18, 'change_role'),
(71, 'Can delete role', 18, 'delete_role'),
(72, 'Can view role', 18, 'view_role'),
(73, 'Can add status', 19, 'add_status'),
(74, 'Can change status', 19, 'change_status'),
(75, 'Can delete status', 19, 'delete_status'),
(76, 'Can view status', 19, 'view_status'),
(77, 'Can add user image', 20, 'add_userimage'),
(78, 'Can change user image', 20, 'change_userimage'),
(79, 'Can delete user image', 20, 'delete_userimage'),
(80, 'Can view user image', 20, 'view_userimage'),
(81, 'Can add role permission', 21, 'add_rolepermission'),
(82, 'Can change role permission', 21, 'change_rolepermission'),
(83, 'Can delete role permission', 21, 'delete_rolepermission'),
(84, 'Can view role permission', 21, 'view_rolepermission'),
(85, 'Can add notification', 22, 'add_notification'),
(86, 'Can change notification', 22, 'change_notification'),
(87, 'Can delete notification', 22, 'delete_notification'),
(88, 'Can view notification', 22, 'view_notification'),
(89, 'Can add module', 23, 'add_module'),
(90, 'Can change module', 23, 'change_module'),
(91, 'Can delete module', 23, 'delete_module'),
(92, 'Can view module', 23, 'view_module'),
(93, 'Can add department', 24, 'add_department'),
(94, 'Can change department', 24, 'change_department'),
(95, 'Can delete department', 24, 'delete_department'),
(96, 'Can view department', 24, 'view_department'),
(97, 'Can add change request template stake holders', 25, 'add_changerequesttemplatestakeholders'),
(98, 'Can change change request template stake holders', 25, 'change_changerequesttemplatestakeholders'),
(99, 'Can delete change request template stake holders', 25, 'delete_changerequesttemplatestakeholders'),
(100, 'Can view change request template stake holders', 25, 'view_changerequesttemplatestakeholders'),
(101, 'Can add change request template details', 26, 'add_changerequesttemplatedetails'),
(102, 'Can change change request template details', 26, 'change_changerequesttemplatedetails'),
(103, 'Can delete change request template details', 26, 'delete_changerequesttemplatedetails'),
(104, 'Can view change request template details', 26, 'view_changerequesttemplatedetails'),
(105, 'Can add change request template attachments', 27, 'add_changerequesttemplateattachments'),
(106, 'Can change change request template attachments', 27, 'change_changerequesttemplateattachments'),
(107, 'Can delete change request template attachments', 27, 'delete_changerequesttemplateattachments'),
(108, 'Can view change request template attachments', 27, 'view_changerequesttemplateattachments'),
(109, 'Can add change request template approvers', 28, 'add_changerequesttemplateapprovers'),
(110, 'Can change change request template approvers', 28, 'change_changerequesttemplateapprovers'),
(111, 'Can delete change request template approvers', 28, 'delete_changerequesttemplateapprovers'),
(112, 'Can view change request template approvers', 28, 'view_changerequesttemplateapprovers'),
(113, 'Can add change request form stake holders', 29, 'add_changerequestformstakeholders'),
(114, 'Can change change request form stake holders', 29, 'change_changerequestformstakeholders'),
(115, 'Can delete change request form stake holders', 29, 'delete_changerequestformstakeholders'),
(116, 'Can view change request form stake holders', 29, 'view_changerequestformstakeholders'),
(117, 'Can add change request form details', 30, 'add_changerequestformdetails'),
(118, 'Can change change request form details', 30, 'change_changerequestformdetails'),
(119, 'Can delete change request form details', 30, 'delete_changerequestformdetails'),
(120, 'Can view change request form details', 30, 'view_changerequestformdetails'),
(121, 'Can add change request form attachments', 31, 'add_changerequestformattachments'),
(122, 'Can change change request form attachments', 31, 'change_changerequestformattachments'),
(123, 'Can delete change request form attachments', 31, 'delete_changerequestformattachments'),
(124, 'Can view change request form attachments', 31, 'view_changerequestformattachments'),
(125, 'Can add change request form approvers', 32, 'add_changerequestformapprovers'),
(126, 'Can change change request form approvers', 32, 'change_changerequestformapprovers'),
(127, 'Can delete change request form approvers', 32, 'delete_changerequestformapprovers'),
(128, 'Can view change request form approvers', 32, 'view_changerequestformapprovers'),
(129, 'Can add auth token', 33, 'add_authtoken'),
(130, 'Can change auth token', 33, 'change_authtoken'),
(131, 'Can delete auth token', 33, 'delete_authtoken'),
(132, 'Can view auth token', 33, 'view_authtoken'),
(133, 'Can add allowed company', 34, 'add_allowedcompany'),
(134, 'Can change allowed company', 34, 'change_allowedcompany'),
(135, 'Can delete allowed company', 34, 'delete_allowedcompany'),
(136, 'Can view allowed company', 34, 'view_allowedcompany'),
(141, 'Can add master attachment', 16, 'add_masterattachment'),
(142, 'Can change master attachment', 16, 'change_masterattachment'),
(143, 'Can delete master attachment', 16, 'delete_masterattachment'),
(144, 'Can view master attachment', 16, 'view_masterattachment'),
(145, 'Can add notification', 17, 'add_notification'),
(146, 'Can change notification', 17, 'change_notification'),
(147, 'Can delete notification', 17, 'delete_notification'),
(148, 'Can view notification', 17, 'view_notification'),
(149, 'Can add password reset', 18, 'add_passwordreset'),
(150, 'Can change password reset', 18, 'change_passwordreset'),
(151, 'Can delete password reset', 18, 'delete_passwordreset'),
(152, 'Can view password reset', 18, 'view_passwordreset'),
(153, 'Can add permission', 19, 'add_permission'),
(154, 'Can change permission', 19, 'change_permission'),
(155, 'Can delete permission', 19, 'delete_permission'),
(156, 'Can view permission', 19, 'view_permission'),
(157, 'Can add role', 20, 'add_role'),
(158, 'Can change role', 20, 'change_role'),
(159, 'Can delete role', 20, 'delete_role'),
(160, 'Can view role', 20, 'view_role'),
(161, 'Can add status', 21, 'add_status'),
(162, 'Can change status', 21, 'change_status'),
(163, 'Can delete status', 21, 'delete_status'),
(164, 'Can view status', 21, 'view_status'),
(165, 'Can add user image', 22, 'add_userimage'),
(166, 'Can change user image', 22, 'change_userimage'),
(167, 'Can delete user image', 22, 'delete_userimage'),
(168, 'Can view user image', 22, 'view_userimage'),
(169, 'Can add role permission', 23, 'add_rolepermission'),
(170, 'Can change role permission', 23, 'change_rolepermission'),
(171, 'Can delete role permission', 23, 'delete_rolepermission'),
(172, 'Can view role permission', 23, 'view_rolepermission'),
(173, 'Can add module', 24, 'add_module'),
(174, 'Can change module', 24, 'change_module'),
(175, 'Can delete module', 24, 'delete_module'),
(176, 'Can view module', 24, 'view_module'),
(177, 'Can add department', 25, 'add_department'),
(178, 'Can change department', 25, 'change_department'),
(179, 'Can delete department', 25, 'delete_department'),
(180, 'Can view department', 25, 'view_department'),
(181, 'Can add change request template stake holders', 26, 'add_changerequesttemplatestakeholders'),
(182, 'Can change change request template stake holders', 26, 'change_changerequesttemplatestakeholders'),
(183, 'Can delete change request template stake holders', 26, 'delete_changerequesttemplatestakeholders'),
(184, 'Can view change request template stake holders', 26, 'view_changerequesttemplatestakeholders'),
(185, 'Can add change request template details', 27, 'add_changerequesttemplatedetails'),
(186, 'Can change change request template details', 27, 'change_changerequesttemplatedetails'),
(187, 'Can delete change request template details', 27, 'delete_changerequesttemplatedetails'),
(188, 'Can view change request template details', 27, 'view_changerequesttemplatedetails'),
(189, 'Can add change request template attachments', 28, 'add_changerequesttemplateattachments'),
(190, 'Can change change request template attachments', 28, 'change_changerequesttemplateattachments'),
(191, 'Can delete change request template attachments', 28, 'delete_changerequesttemplateattachments'),
(192, 'Can view change request template attachments', 28, 'view_changerequesttemplateattachments'),
(193, 'Can add change request template approvers', 29, 'add_changerequesttemplateapprovers'),
(194, 'Can change change request template approvers', 29, 'change_changerequesttemplateapprovers'),
(195, 'Can delete change request template approvers', 29, 'delete_changerequesttemplateapprovers'),
(196, 'Can view change request template approvers', 29, 'view_changerequesttemplateapprovers'),
(197, 'Can add change request form stake holders', 30, 'add_changerequestformstakeholders'),
(198, 'Can change change request form stake holders', 30, 'change_changerequestformstakeholders'),
(199, 'Can delete change request form stake holders', 30, 'delete_changerequestformstakeholders'),
(200, 'Can view change request form stake holders', 30, 'view_changerequestformstakeholders'),
(201, 'Can add change request form details', 31, 'add_changerequestformdetails'),
(202, 'Can change change request form details', 31, 'change_changerequestformdetails'),
(203, 'Can delete change request form details', 31, 'delete_changerequestformdetails'),
(204, 'Can view change request form details', 31, 'view_changerequestformdetails'),
(205, 'Can add change request form attachments', 32, 'add_changerequestformattachments'),
(206, 'Can change change request form attachments', 32, 'change_changerequestformattachments'),
(207, 'Can delete change request form attachments', 32, 'delete_changerequestformattachments'),
(208, 'Can view change request form attachments', 32, 'view_changerequestformattachments'),
(209, 'Can add change request form approvers', 33, 'add_changerequestformapprovers'),
(210, 'Can change change request form approvers', 33, 'change_changerequestformapprovers'),
(211, 'Can delete change request form approvers', 33, 'delete_changerequestformapprovers'),
(212, 'Can view change request form approvers', 33, 'view_changerequestformapprovers'),
(213, 'Can add auth token', 34, 'add_authtoken'),
(214, 'Can change auth token', 34, 'change_authtoken'),
(215, 'Can delete auth token', 34, 'delete_authtoken'),
(216, 'Can view auth token', 34, 'view_authtoken'),
(217, 'Can add allowed company', 35, 'add_allowedcompany'),
(218, 'Can change allowed company', 35, 'change_allowedcompany'),
(219, 'Can delete allowed company', 35, 'delete_allowedcompany'),
(220, 'Can view allowed company', 35, 'view_allowedcompany'),
(221, 'Can add reminder trigger', 36, 'add_remindertrigger'),
(222, 'Can change reminder trigger', 36, 'change_remindertrigger'),
(223, 'Can delete reminder trigger', 36, 'delete_remindertrigger'),
(224, 'Can view reminder trigger', 36, 'view_remindertrigger'),
(225, 'Can add cancel trigger', 37, 'add_canceltrigger'),
(226, 'Can change cancel trigger', 37, 'change_canceltrigger'),
(227, 'Can delete cancel trigger', 37, 'delete_canceltrigger'),
(228, 'Can view cancel trigger', 37, 'view_canceltrigger'),
(229, 'Can add overdue trigger', 38, 'add_overduetrigger'),
(230, 'Can change overdue trigger', 38, 'change_overduetrigger'),
(231, 'Can delete overdue trigger', 38, 'delete_overduetrigger'),
(232, 'Can view overdue trigger', 38, 'view_overduetrigger'),
(245, 'Can add reminder trigger', 38, 'add_remindertrigger'),
(246, 'Can change reminder trigger', 38, 'change_remindertrigger'),
(247, 'Can delete reminder trigger', 38, 'delete_remindertrigger'),
(248, 'Can view reminder trigger', 38, 'view_remindertrigger'),
(249, 'Can add overdue trigger', 36, 'add_overduetrigger'),
(250, 'Can change overdue trigger', 36, 'change_overduetrigger'),
(251, 'Can delete overdue trigger', 36, 'delete_overduetrigger'),
(252, 'Can view overdue trigger', 36, 'view_overduetrigger'),
(253, 'Can add asset group', 39, 'add_assetgroup'),
(254, 'Can change asset group', 39, 'change_assetgroup'),
(255, 'Can delete asset group', 39, 'delete_assetgroup'),
(256, 'Can view asset group', 39, 'view_assetgroup'),
(257, 'Can add delegation', 40, 'add_delegation'),
(258, 'Can change delegation', 40, 'change_delegation'),
(259, 'Can delete delegation', 40, 'delete_delegation'),
(260, 'Can view delegation', 40, 'view_delegation'),
(261, 'Can add user history', 41, 'add_userhistory'),
(262, 'Can change user history', 41, 'change_userhistory'),
(263, 'Can delete user history', 41, 'delete_userhistory'),
(264, 'Can view user history', 41, 'view_userhistory'),
(265, 'Can add extract transform load', 42, 'add_extracttransformload'),
(266, 'Can change extract transform load', 42, 'change_extracttransformload'),
(267, 'Can delete extract transform load', 42, 'delete_extracttransformload'),
(268, 'Can view extract transform load', 42, 'view_extracttransformload'),
(269, 'Can add asset group', 9, 'add_assetgroup'),
(270, 'Can change asset group', 9, 'change_assetgroup'),
(271, 'Can delete asset group', 9, 'delete_assetgroup'),
(272, 'Can view asset group', 9, 'view_assetgroup'),
(273, 'Can add attachment', 10, 'add_attachment'),
(274, 'Can change attachment', 10, 'change_attachment'),
(275, 'Can delete attachment', 10, 'delete_attachment'),
(276, 'Can view attachment', 10, 'view_attachment'),
(277, 'Can add change request form approvers', 11, 'add_changerequestformapprovers'),
(278, 'Can change change request form approvers', 11, 'change_changerequestformapprovers'),
(279, 'Can delete change request form approvers', 11, 'delete_changerequestformapprovers'),
(280, 'Can view change request form approvers', 11, 'view_changerequestformapprovers'),
(281, 'Can add change request form header', 12, 'add_changerequestformheader'),
(282, 'Can change change request form header', 12, 'change_changerequestformheader'),
(283, 'Can delete change request form header', 12, 'delete_changerequestformheader'),
(284, 'Can view change request form header', 12, 'view_changerequestformheader'),
(285, 'Can add change request history', 13, 'add_changerequesthistory'),
(286, 'Can change change request history', 13, 'change_changerequesthistory'),
(287, 'Can delete change request history', 13, 'delete_changerequesthistory'),
(288, 'Can view change request history', 13, 'view_changerequesthistory'),
(289, 'Can add change request template header', 14, 'add_changerequesttemplateheader'),
(290, 'Can change change request template header', 14, 'change_changerequesttemplateheader'),
(291, 'Can delete change request template header', 14, 'delete_changerequesttemplateheader'),
(292, 'Can view change request template header', 14, 'view_changerequesttemplateheader'),
(293, 'Can add company', 15, 'add_company'),
(294, 'Can change company', 15, 'change_company'),
(295, 'Can delete company', 15, 'delete_company'),
(296, 'Can view company', 15, 'view_company'),
(297, 'Can add delegation', 16, 'add_delegation'),
(298, 'Can change delegation', 16, 'change_delegation'),
(299, 'Can delete delegation', 16, 'delete_delegation'),
(300, 'Can view delegation', 16, 'view_delegation'),
(301, 'Can add email logs', 17, 'add_emaillogs'),
(302, 'Can change email logs', 17, 'change_emaillogs'),
(303, 'Can delete email logs', 17, 'delete_emaillogs'),
(304, 'Can view email logs', 17, 'view_emaillogs'),
(305, 'Can add entity log', 18, 'add_entitylog'),
(306, 'Can change entity log', 18, 'change_entitylog'),
(307, 'Can delete entity log', 18, 'delete_entitylog'),
(308, 'Can view entity log', 18, 'view_entitylog'),
(309, 'Can add extract transform load', 19, 'add_extracttransformload'),
(310, 'Can change extract transform load', 19, 'change_extracttransformload'),
(311, 'Can delete extract transform load', 19, 'delete_extracttransformload'),
(312, 'Can view extract transform load', 19, 'view_extracttransformload'),
(313, 'Can add master attachment', 20, 'add_masterattachment'),
(314, 'Can change master attachment', 20, 'change_masterattachment'),
(315, 'Can delete master attachment', 20, 'delete_masterattachment'),
(316, 'Can view master attachment', 20, 'view_masterattachment'),
(317, 'Can add notification', 21, 'add_notification'),
(318, 'Can change notification', 21, 'change_notification'),
(319, 'Can delete notification', 21, 'delete_notification'),
(320, 'Can view notification', 21, 'view_notification'),
(321, 'Can add password reset', 22, 'add_passwordreset'),
(322, 'Can change password reset', 22, 'change_passwordreset'),
(323, 'Can delete password reset', 22, 'delete_passwordreset'),
(324, 'Can view password reset', 22, 'view_passwordreset'),
(325, 'Can add permission', 23, 'add_permission'),
(326, 'Can change permission', 23, 'change_permission'),
(327, 'Can delete permission', 23, 'delete_permission'),
(328, 'Can view permission', 23, 'view_permission'),
(329, 'Can add role', 24, 'add_role'),
(330, 'Can change role', 24, 'change_role'),
(331, 'Can delete role', 24, 'delete_role'),
(332, 'Can view role', 24, 'view_role'),
(333, 'Can add status', 25, 'add_status'),
(334, 'Can change status', 25, 'change_status'),
(335, 'Can delete status', 25, 'delete_status'),
(336, 'Can view status', 25, 'view_status'),
(337, 'Can add user image', 26, 'add_userimage'),
(338, 'Can change user image', 26, 'change_userimage'),
(339, 'Can delete user image', 26, 'delete_userimage'),
(340, 'Can view user image', 26, 'view_userimage'),
(341, 'Can add user history', 27, 'add_userhistory'),
(342, 'Can change user history', 27, 'change_userhistory'),
(343, 'Can delete user history', 27, 'delete_userhistory'),
(344, 'Can view user history', 27, 'view_userhistory'),
(345, 'Can add role permission', 28, 'add_rolepermission'),
(346, 'Can change role permission', 28, 'change_rolepermission'),
(347, 'Can delete role permission', 28, 'delete_rolepermission'),
(348, 'Can view role permission', 28, 'view_rolepermission'),
(349, 'Can add reminder trigger', 29, 'add_remindertrigger'),
(350, 'Can change reminder trigger', 29, 'change_remindertrigger'),
(351, 'Can delete reminder trigger', 29, 'delete_remindertrigger'),
(352, 'Can view reminder trigger', 29, 'view_remindertrigger'),
(353, 'Can add overdue trigger', 30, 'add_overduetrigger'),
(354, 'Can change overdue trigger', 30, 'change_overduetrigger'),
(355, 'Can delete overdue trigger', 30, 'delete_overduetrigger'),
(356, 'Can view overdue trigger', 30, 'view_overduetrigger'),
(357, 'Can add module', 31, 'add_module'),
(358, 'Can change module', 31, 'change_module'),
(359, 'Can delete module', 31, 'delete_module'),
(360, 'Can view module', 31, 'view_module'),
(361, 'Can add department', 32, 'add_department'),
(362, 'Can change department', 32, 'change_department'),
(363, 'Can delete department', 32, 'delete_department'),
(364, 'Can view department', 32, 'view_department'),
(365, 'Can add change request template stake holders', 33, 'add_changerequesttemplatestakeholders'),
(366, 'Can change change request template stake holders', 33, 'change_changerequesttemplatestakeholders'),
(367, 'Can delete change request template stake holders', 33, 'delete_changerequesttemplatestakeholders'),
(368, 'Can view change request template stake holders', 33, 'view_changerequesttemplatestakeholders'),
(369, 'Can add change request template details', 34, 'add_changerequesttemplatedetails'),
(370, 'Can change change request template details', 34, 'change_changerequesttemplatedetails'),
(371, 'Can delete change request template details', 34, 'delete_changerequesttemplatedetails'),
(372, 'Can view change request template details', 34, 'view_changerequesttemplatedetails'),
(373, 'Can add change request template attachments', 35, 'add_changerequesttemplateattachments'),
(374, 'Can change change request template attachments', 35, 'change_changerequesttemplateattachments'),
(375, 'Can delete change request template attachments', 35, 'delete_changerequesttemplateattachments'),
(376, 'Can view change request template attachments', 35, 'view_changerequesttemplateattachments'),
(377, 'Can add change request template approvers', 36, 'add_changerequesttemplateapprovers'),
(378, 'Can change change request template approvers', 36, 'change_changerequesttemplateapprovers'),
(379, 'Can delete change request template approvers', 36, 'delete_changerequesttemplateapprovers'),
(380, 'Can view change request template approvers', 36, 'view_changerequesttemplateapprovers'),
(381, 'Can add change request form stake holders', 37, 'add_changerequestformstakeholders'),
(382, 'Can change change request form stake holders', 37, 'change_changerequestformstakeholders'),
(383, 'Can delete change request form stake holders', 37, 'delete_changerequestformstakeholders'),
(384, 'Can view change request form stake holders', 37, 'view_changerequestformstakeholders'),
(385, 'Can add change request form details', 38, 'add_changerequestformdetails'),
(386, 'Can change change request form details', 38, 'change_changerequestformdetails'),
(387, 'Can delete change request form details', 38, 'delete_changerequestformdetails'),
(388, 'Can view change request form details', 38, 'view_changerequestformdetails'),
(389, 'Can add change request form attachments', 39, 'add_changerequestformattachments'),
(390, 'Can change change request form attachments', 39, 'change_changerequestformattachments'),
(391, 'Can delete change request form attachments', 39, 'delete_changerequestformattachments'),
(392, 'Can view change request form attachments', 39, 'view_changerequestformattachments'),
(393, 'Can add cancel trigger', 40, 'add_canceltrigger'),
(394, 'Can change cancel trigger', 40, 'change_canceltrigger'),
(395, 'Can delete cancel trigger', 40, 'delete_canceltrigger'),
(396, 'Can view cancel trigger', 40, 'view_canceltrigger'),
(397, 'Can add auth token', 41, 'add_authtoken'),
(398, 'Can change auth token', 41, 'change_authtoken'),
(399, 'Can delete auth token', 41, 'delete_authtoken'),
(400, 'Can view auth token', 41, 'view_authtoken'),
(401, 'Can add allowed company', 42, 'add_allowedcompany'),
(402, 'Can change allowed company', 42, 'change_allowedcompany'),
(403, 'Can delete allowed company', 42, 'delete_allowedcompany'),
(404, 'Can view allowed company', 42, 'view_allowedcompany');
/*!40000 ALTER TABLE `auth_permission` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user: ~1 rows (approximately)
DELETE FROM `auth_user`;
/*!40000 ALTER TABLE `auth_user` DISABLE KEYS */;
INSERT INTO `auth_user` (`id`, `last_login`, `is_superuser`, `first_name`, `last_name`, `is_staff`, `is_active`, `date_joined`, `user_type`, `code`, `name`, `username`, `password`, `contact_no`, `email`, `default_app_id`, `department_id`, `doa_id`) VALUES
(1, '2019-11-25 14:25:06.048963', 1, '', '', 1, 1, '2019-09-23 12:42:37.938304', 'SU', 'USER-20190923-0000001', '', 'superuser', 'pbkdf2_sha256$150000$YLmqqWBQGsJG$r4NYkY05q1zlmgzh106ejBbzd0NY00YEfylllyVQyk0=', NULL, 'red@tirsolutions.com', 'APP-20190923-0000001', 'DEPARTMENT-20190923-0000001', NULL);
/*!40000 ALTER TABLE `auth_user` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_application: ~3 rows (approximately)
DELETE FROM `auth_user_application`;
/*!40000 ALTER TABLE `auth_user_application` DISABLE KEYS */;
INSERT INTO `auth_user_application` (`id`, `user_id`, `application_id`) VALUES
(1, 1, 1),
(2, 1, 2),
(3, 1, 3);
/*!40000 ALTER TABLE `auth_user_application` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_groups: ~0 rows (approximately)
DELETE FROM `auth_user_groups`;
/*!40000 ALTER TABLE `auth_user_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_groups` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_images: ~1 rows (approximately)
DELETE FROM `auth_user_images`;
/*!40000 ALTER TABLE `auth_user_images` DISABLE KEYS */;
INSERT INTO `auth_user_images` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `name`, `image`, `is_primary`, `user_id`) VALUES
(11, '2019-10-15 12:27:13.058304', 'superuser', '2019-10-15 12:27:13.058352', 'superuser', '_profile_pic.png', 'user_images/_profile_pic.png', 1, 'USER-20190923-0000001');
/*!40000 ALTER TABLE `auth_user_images` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_user_permissions: ~0 rows (approximately)
DELETE FROM `auth_user_user_permissions`;
/*!40000 ALTER TABLE `auth_user_user_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_user_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_approvers: ~0 rows (approximately)
DELETE FROM `change_request_form_approvers`;
/*!40000 ALTER TABLE `change_request_form_approvers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_attachments: ~0 rows (approximately)
DELETE FROM `change_request_form_attachments`;
/*!40000 ALTER TABLE `change_request_form_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_details: ~0 rows (approximately)
DELETE FROM `change_request_form_details`;
/*!40000 ALTER TABLE `change_request_form_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_headers: ~0 rows (approximately)
DELETE FROM `change_request_form_headers`;
/*!40000 ALTER TABLE `change_request_form_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_form_stakeholders`;
/*!40000 ALTER TABLE `change_request_form_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_history: ~0 rows (approximately)
DELETE FROM `change_request_history`;
/*!40000 ALTER TABLE `change_request_history` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_history` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_approvers: ~0 rows (approximately)
DELETE FROM `change_request_template_approvers`;
/*!40000 ALTER TABLE `change_request_template_approvers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_attachments: ~0 rows (approximately)
DELETE FROM `change_request_template_attachments`;
/*!40000 ALTER TABLE `change_request_template_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_details: ~0 rows (approximately)
DELETE FROM `change_request_template_details`;
/*!40000 ALTER TABLE `change_request_template_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_headers: ~0 rows (approximately)
DELETE FROM `change_request_template_headers`;
/*!40000 ALTER TABLE `change_request_template_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_template_stakeholders`;
/*!40000 ALTER TABLE `change_request_template_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.companies: ~1 rows (approximately)
DELETE FROM `companies`;
/*!40000 ALTER TABLE `companies` DISABLE KEYS */;
INSERT INTO `companies` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `contact_details`) VALUES
(1, '2019-09-23 12:45:31.058709', 'superuser', '2019-10-01 18:10:40.098534', 'superuser', 'COMPANY-20190923-0000001', 'Oneberry Technologies Pte Ltd', '2152509');
/*!40000 ALTER TABLE `companies` ENABLE KEYS */;
-- Dumping data for table rms_db.delegations: ~8 rows (approximately)
DELETE FROM `delegations`;
/*!40000 ALTER TABLE `delegations` DISABLE KEYS */;
INSERT INTO `delegations` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`) VALUES
(1, '2019-11-19 17:46:08.984731', 'superuser', '2019-11-19 17:46:08.984731', 'superuser', 'DELEGATION-20191119-0000001', 'Requestor'),
(2, '2019-11-19 17:46:18.010437', 'superuser', '2019-11-19 17:46:18.010437', 'superuser', 'DELEGATION-20191119-0000002', 'Vendor/Implementor'),
(3, '2019-11-19 17:46:26.168693', 'superuser', '2019-11-22 10:03:40.605242', 'superuser', 'DELEGATION-20191119-0000003', 'Head of Department'),
(4, '2019-11-19 17:46:34.020753', 'superuser', '2019-11-19 17:46:34.020753', 'superuser', 'DELEGATION-20191119-0000004', 'SD/OD'),
(5, '2019-11-19 17:46:41.461203', 'superuser', '2019-11-19 17:46:41.462205', 'superuser', 'DELEGATION-20191119-0000005', 'Change Control Board'),
(6, '2019-11-19 17:46:49.472397', 'superuser', '2019-11-19 17:46:49.472397', 'superuser', 'DELEGATION-20191119-0000006', 'Approver'),
(12, '2019-11-21 09:46:42.763973', 'superuser', '2019-11-21 09:46:55.656089', 'superuser', 'DELEGATION-20191121-0000012', 'Facilities Manager'),
(13, '2019-11-21 09:47:04.092120', 'superuser', '2019-11-21 10:08:40.239094', 'superuser', 'DELEGATION-20191121-0000013', 'Move Manager');
/*!40000 ALTER TABLE `delegations` ENABLE KEYS */;
-- Dumping data for table rms_db.departments: ~1 rows (approximately)
DELETE FROM `departments`;
/*!40000 ALTER TABLE `departments` DISABLE KEYS */;
INSERT INTO `departments` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `company_id`) VALUES
(1, '2019-09-23 12:45:52.531178', 'superuser', '2019-10-01 18:12:27.956536', 'superuser', 'DEPARTMENT-20190923-0000001', 'Super User', 'COMPANY-20190923-0000001');
/*!40000 ALTER TABLE `departments` ENABLE KEYS */;
-- Dumping data for table rms_db.email_logs: ~1 rows (approximately)
DELETE FROM `email_logs`;
/*!40000 ALTER TABLE `email_logs` DISABLE KEYS */;
INSERT INTO `email_logs` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `template`, `recipients`, `content`, `is_sent`) VALUES
(1, '2019-12-11 15:57:36.338584', 'red@tirsolutions.com', '2019-12-11 15:57:36.338637', 'red@tirsolutions.com', 'RMS-NEWUSER.html', 'tirsamemail+fan@gmail.com', '<!DOCTYPE html>\n<html>\n<head>\n<title>RMS: New User Created</title>\n</head>\n<body style="font-family: arial;">\n\n<h3>Resource Management System &#40;RMS&#41;</h3>\n<h3 style="color:#888888;">New User Created</h3><br>\n\n<p>Dear Rita Fantilga,</p><br>\n<p>You have been created as a new user of RMS. Please see your default login details below.</p><br>\n \n<b>Username</b><br>ob-rita<br><br>\n<b>Password</b><br>xqZgDfBjZR<br><br>\n\n<p>You may change your password through the <u><a href="http://devweb.rmsv2.oneberrysystem.com/cms/profile" style="text-decoration:underline;color:#007bff;" target="_blank">my profile</a></u> section of RMS any time.</p><br>\n \n<p>Sincerely,</p>\n<p>RMS Team</p><br><br>\n \n<p>Powered by</p>\n<img src="https://s3-ap-southeast-1.amazonaws.com/oneberry/img/logo_oneberry.png" class="img-responsive" style="width:150px;height:auto;" />\n \n</body>\n</html>', 1);
/*!40000 ALTER TABLE `email_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.entity_logs: ~0 rows (approximately)
DELETE FROM `entity_logs`;
/*!40000 ALTER TABLE `entity_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `entity_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.extract_transform_load: ~0 rows (approximately)
DELETE FROM `extract_transform_load`;
/*!40000 ALTER TABLE `extract_transform_load` DISABLE KEYS */;
/*!40000 ALTER TABLE `extract_transform_load` ENABLE KEYS */;
-- Dumping data for table rms_db.extract_transform_load_user_history: ~0 rows (approximately)
DELETE FROM `extract_transform_load_user_history`;
/*!40000 ALTER TABLE `extract_transform_load_user_history` DISABLE KEYS */;
/*!40000 ALTER TABLE `extract_transform_load_user_history` ENABLE KEYS */;
-- Dumping data for table rms_db.master_attachments: ~8 rows (approximately)
DELETE FROM `master_attachments`;
/*!40000 ALTER TABLE `master_attachments` DISABLE KEYS */;
INSERT INTO `master_attachments` (`id`, `url`, `attch_ref`) VALUES
(323, 'uploads/RMS_-_Forgot_Password_3_A77aRmz.html', 'url'),
(324, 'uploads/batch_upload.xlsx', 'url'),
(325, 'uploads/batch_upload_rewd8IS.xlsx', 'sa1w1ypu4qbk39jbkek'),
(332, 'uploads/zzzzz7_6yOT3ai.xlsx', 'url'),
(374, 'uploads/instruction.pdf', 'url'),
(507, 'uploads/fred.png', 'url'),
(612, 'uploads/zzzzz7.xlsx', 'url'),
(818, 'uploads/user_format.csv', 'etl_gen');
/*!40000 ALTER TABLE `master_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.modules: ~9 rows (approximately)
DELETE FROM `modules`;
/*!40000 ALTER TABLE `modules` DISABLE KEYS */;
INSERT INTO `modules` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `sort_id`, `component`, `application_id`, `parent_id`) VALUES
(1, '2019-09-27 12:49:27.795897', 'superuser', '2019-09-27 12:49:27.795897', 'superuser', 'MODULE-20190927-0000001', 'Application Management', 1, 'rms/application-management', 'APP-20190923-0000001', NULL),
(2, '2019-09-27 12:49:31.756321', 'superuser', '2019-09-27 13:00:57.280102', 'superuser', 'MODULE-20190927-0000002', 'Company Management', 2, 'rms/company-management', 'APP-20190923-0000001', NULL),
(3, '2019-09-27 12:49:49.528430', 'superuser', '2019-09-27 13:00:18.423200', 'superuser', 'MODULE-20190927-0000003', 'Department Management', 4, 'rms/department-management', 'APP-20190923-0000001', NULL),
(4, '2019-09-27 12:49:57.378955', 'superuser', '2019-09-27 12:58:07.634481', 'superuser', 'MODULE-20190927-0000004', 'Module Management', 5, 'rms/module-management', 'APP-20190923-0000001', NULL),
(5, '2019-09-27 12:50:01.383432', 'superuser', '2019-09-30 14:37:53.210860', 'superuser', 'MODULE-20190927-0000005', 'User Management', 6, 'rms/user-management', 'APP-20190923-0000001', NULL),
(6, '2019-09-27 12:50:15.910699', 'superuser', '2019-09-27 19:04:53.805099', 'superuser', 'MODULE-20190927-0000006', 'Change Request Template', 3, 'cms/change-request/template', 'APP-20190923-0000002', NULL),
(10, '2019-09-28 12:28:20.174483', 'superuser', '2019-09-30 14:38:38.604217', 'superuser', 'MODULE-20190928-0000010', 'Change Request Form', 2, 'cms/change-request/form', 'APP-20190923-0000002', NULL),
(11, '2019-09-30 17:15:33.022534', 'superuser', '2019-09-30 17:15:33.022578', 'superuser', 'MODULE-20190930-0000011', 'Notification', 1, 'cms/notifications', 'APP-20190923-0000002', NULL),
(19, '2019-11-07 17:27:21.486248', 'superuser', '2019-11-07 17:27:21.486290', 'superuser', 'MODULE-20191107-0000019', 'Delegation Management', 7, 'rms/delegation-management', 'APP-20190923-0000001', NULL);
/*!40000 ALTER TABLE `modules` ENABLE KEYS */;
-- Dumping data for table rms_db.notifications: ~0 rows (approximately)
DELETE FROM `notifications`;
/*!40000 ALTER TABLE `notifications` DISABLE KEYS */;
/*!40000 ALTER TABLE `notifications` ENABLE KEYS */;
-- Dumping data for table rms_db.password_resets: ~0 rows (approximately)
DELETE FROM `password_resets`;
/*!40000 ALTER TABLE `password_resets` DISABLE KEYS */;
/*!40000 ALTER TABLE `password_resets` ENABLE KEYS */;
-- Dumping data for table rms_db.permissions: ~0 rows (approximately)
DELETE FROM `permissions`;
/*!40000 ALTER TABLE `permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.roles: ~0 rows (approximately)
DELETE FROM `roles`;
/*!40000 ALTER TABLE `roles` DISABLE KEYS */;
/*!40000 ALTER TABLE `roles` ENABLE KEYS */;
-- Dumping data for table rms_db.role_permissions: ~0 rows (approximately)
DELETE FROM `role_permissions`;
/*!40000 ALTER TABLE `role_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `role_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.status_set: ~0 rows (approximately)
DELETE FROM `status_set`;
/*!40000 ALTER TABLE `status_set` DISABLE KEYS */;
/*!40000 ALTER TABLE `status_set` ENABLE KEYS */;
-- Dumping data for table rms_db.trigger_cancel: ~0 rows (approximately)
DELETE FROM `trigger_cancel`;
/*!40000 ALTER TABLE `trigger_cancel` DISABLE KEYS */;
/*!40000 ALTER TABLE `trigger_cancel` ENABLE KEYS */;
-- Dumping data for table rms_db.trigger_overdue: ~0 rows (approximately)
DELETE FROM `trigger_overdue`;
/*!40000 ALTER TABLE `trigger_overdue` DISABLE KEYS */;
/*!40000 ALTER TABLE `trigger_overdue` ENABLE KEYS */;
-- Dumping data for table rms_db.trigger_reminder: ~0 rows (approximately)
DELETE FROM `trigger_reminder`;
/*!40000 ALTER TABLE `trigger_reminder` DISABLE KEYS */;
/*!40000 ALTER TABLE `trigger_reminder` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
INSERT INTO `applications` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `excel_code`) VALUES
(1, '2019-09-23 12:43:33.754098', 'superuser', '2019-09-23 12:43:33.754098', 'superuser', 'APP-20190923-0000001', 'Resource Management System', 'rms'),
(2, '2019-09-23 12:43:40.512905', 'superuser', '2019-09-23 12:43:40.512905', 'superuser', 'APP-20190923-0000002', 'Change Request Management System', 'cms'),
(3, '2019-09-23 12:43:55.957076', 'superuser', '2019-09-23 12:43:55.957076', 'superuser', 'APP-20190923-0000003', 'Asset Management System', 'ams');
INSERT INTO `auth_user` (`id`, `last_login`, `is_superuser`, `first_name`, `last_name`, `is_staff`, `is_active`, `date_joined`, `user_type`, `code`, `name`, `username`, `password`, `contact_no`, `email`, `default_app_id`, `department_id`, `doa_id`) VALUES
(1, '2019-11-25 14:25:06.048963', 1, '', '', 1, 1, '2019-09-23 12:42:37.938304', 'SU', 'USER-20190923-0000001', '', 'superuser', 'pbkdf2_sha256$150000$YLmqqWBQGsJG$r4NYkY05q1zlmgzh106ejBbzd0NY00YEfylllyVQyk0=', NULL, 'red@tirsolutions.com', 'APP-20190923-0000001', 'DEPARTMENT-20190923-0000001', NULL);
INSERT INTO `auth_user_application` (`id`, `user_id`, `application_id`) VALUES
(1, 1, 1),
(2, 1, 2),
(3, 1, 3);
INSERT INTO `auth_user_images` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `name`, `image`, `is_primary`, `user_id`) VALUES
(11, '2019-10-15 12:27:13.058304', 'superuser', '2019-10-15 12:27:13.058352', 'superuser', '_profile_pic.png', 'user_images/_profile_pic.png', 1, 'USER-20190923-0000001');
INSERT INTO `companies` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `contact_details`) VALUES
(1, '2019-09-23 12:45:31.058709', 'superuser', '2019-10-01 18:10:40.098534', 'superuser', 'COMPANY-20190923-0000001', 'Oneberry Technologies Pte Ltd', '2152509');
DELETE FROM `delegations`;
INSERT INTO `delegations` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`) VALUES
(1, '2019-11-19 17:46:08.984731', 'superuser', '2019-11-19 17:46:08.984731', 'superuser', 'DELEGATION-20191119-0000001', 'Requestor'),
(2, '2019-11-19 17:46:18.010437', 'superuser', '2019-11-19 17:46:18.010437', 'superuser', 'DELEGATION-20191119-0000002', 'Vendor/Implementor'),
(3, '2019-11-19 17:46:26.168693', 'superuser', '2019-11-22 10:03:40.605242', 'superuser', 'DELEGATION-20191119-0000003', 'Head of Department'),
(4, '2019-11-19 17:46:34.020753', 'superuser', '2019-11-19 17:46:34.020753', 'superuser', 'DELEGATION-20191119-0000004', 'SD/OD'),
(5, '2019-11-19 17:46:41.461203', 'superuser', '2019-11-19 17:46:41.462205', 'superuser', 'DELEGATION-20191119-0000005', 'Change Control Board'),
(6, '2019-11-19 17:46:49.472397', 'superuser', '2019-11-19 17:46:49.472397', 'superuser', 'DELEGATION-20191119-0000006', 'Approver'),
(12, '2019-11-21 09:46:42.763973', 'superuser', '2019-11-21 09:46:55.656089', 'superuser', 'DELEGATION-20191121-0000012', 'Facilities Manager'),
(13, '2019-11-21 09:47:04.092120', 'superuser', '2019-11-21 10:08:40.239094', 'superuser', 'DELEGATION-20191121-0000013', 'Move Manager');
INSERT INTO `departments` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `company_id`) VALUES
(1, '2019-09-23 12:45:52.531178', 'superuser', '2019-10-01 18:12:27.956536', 'superuser', 'DEPARTMENT-20190923-0000001', 'Super User', 'COMPANY-20190923-0000001');
INSERT INTO `email_logs` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `template`, `recipients`, `content`, `is_sent`) VALUES
(1, '2019-12-11 15:57:36.338584', 'red@tirsolutions.com', '2019-12-11 15:57:36.338637', 'red@tirsolutions.com', 'RMS-NEWUSER.html', 'tirsamemail+fan@gmail.com', '<!DOCTYPE html>\n<html>\n<head>\n<title>RMS: New User Created</title>\n</head>\n<body style="font-family: arial;">\n\n<h3>Resource Management System &#40;RMS&#41;</h3>\n<h3 style="color:#888888;">New User Created</h3><br>\n\n<p>Dear Rita Fantilga,</p><br>\n<p>You have been created as a new user of RMS. Please see your default login details below.</p><br>\n \n<b>Username</b><br>ob-rita<br><br>\n<b>Password</b><br>xqZgDfBjZR<br><br>\n\n<p>You may change your password through the <u><a href="http://devweb.rmsv2.oneberrysystem.com/cms/profile" style="text-decoration:underline;color:#007bff;" target="_blank">my profile</a></u> section of RMS any time.</p><br>\n \n<p>Sincerely,</p>\n<p>RMS Team</p><br><br>\n \n<p>Powered by</p>\n<img src="https://s3-ap-southeast-1.amazonaws.com/oneberry/img/logo_oneberry.png" class="img-responsive" style="width:150px;height:auto;" />\n \n</body>\n</html>', 1);
INSERT INTO `master_attachments` (`id`, `url`, `attch_ref`) VALUES
(323, 'uploads/RMS_-_Forgot_Password_3_A77aRmz.html', 'url'),
(324, 'uploads/batch_upload.xlsx', 'url'),
(325, 'uploads/batch_upload_rewd8IS.xlsx', 'sa1w1ypu4qbk39jbkek'),
(332, 'uploads/zzzzz7_6yOT3ai.xlsx', 'url'),
(374, 'uploads/instruction.pdf', 'url'),
(507, 'uploads/fred.png', 'url'),
(612, 'uploads/zzzzz7.xlsx', 'url'),
(818, 'uploads/user_format.csv', 'etl_gen');
INSERT INTO `modules` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `sort_id`, `component`, `application_id`, `parent_id`) VALUES
(1, '2019-09-27 12:49:27.795897', 'superuser', '2019-09-27 12:49:27.795897', 'superuser', 'MODULE-20190927-0000001', 'Application Management', 1, 'rms/application-management', 'APP-20190923-0000001', NULL),
(2, '2019-09-27 12:49:31.756321', 'superuser', '2019-09-27 13:00:57.280102', 'superuser', 'MODULE-20190927-0000002', 'Company Management', 2, 'rms/company-management', 'APP-20190923-0000001', NULL),
(3, '2019-09-27 12:49:49.528430', 'superuser', '2019-09-27 13:00:18.423200', 'superuser', 'MODULE-20190927-0000003', 'Department Management', 4, 'rms/department-management', 'APP-20190923-0000001', NULL),
(4, '2019-09-27 12:49:57.378955', 'superuser', '2019-09-27 12:58:07.634481', 'superuser', 'MODULE-20190927-0000004', 'Module Management', 5, 'rms/module-management', 'APP-20190923-0000001', NULL),
(5, '2019-09-27 12:50:01.383432', 'superuser', '2019-09-30 14:37:53.210860', 'superuser', 'MODULE-20190927-0000005', 'User Management', 6, 'rms/user-management', 'APP-20190923-0000001', NULL),
(6, '2019-09-27 12:50:15.910699', 'superuser', '2019-09-27 19:04:53.805099', 'superuser', 'MODULE-20190927-0000006', 'Change Request Template', 3, 'cms/change-request/template', 'APP-20190923-0000002', NULL),
(10, '2019-09-28 12:28:20.174483', 'superuser', '2019-09-30 14:38:38.604217', 'superuser', 'MODULE-20190928-0000010', 'Change Request Form', 2, 'cms/change-request/form', 'APP-20190923-0000002', NULL),
(11, '2019-09-30 17:15:33.022534', 'superuser', '2019-09-30 17:15:33.022578', 'superuser', 'MODULE-20190930-0000011', 'Notification', 1, 'cms/notifications', 'APP-20190923-0000002', NULL),
(19, '2019-11-07 17:27:21.486248', 'superuser', '2019-11-07 17:27:21.486290', 'superuser', 'MODULE-20191107-0000019', 'Delegation Management', 7, 'rms/delegation-management', 'APP-20190923-0000001', NULL);
-- --------------------------------------------------------
-- Host: 127.0.0.1
-- Server version: 10.3.12-MariaDB - mariadb.org binary distribution
-- Server OS: Win64
-- HeidiSQL Version: 9.4.0.5125
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- Dumping data for table rms_db.allowed_company: ~0 rows (approximately)
DELETE FROM `allowed_company`;
/*!40000 ALTER TABLE `allowed_company` DISABLE KEYS */;
/*!40000 ALTER TABLE `allowed_company` ENABLE KEYS */;
-- Dumping data for table rms_db.applications: ~3 rows (approximately)
DELETE FROM `applications`;
/*!40000 ALTER TABLE `applications` DISABLE KEYS */;
INSERT INTO `applications` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`) VALUES
(1, '2019-09-23 12:43:33.754098', 'superuser', '2019-09-23 12:43:33.754098', 'superuser', 'APP-20190923-0000001', 'Resource Management System'),
(2, '2019-09-23 12:43:40.512905', 'superuser', '2019-09-23 12:43:40.512905', 'superuser', 'APP-20190923-0000002', 'Change Request Management System'),
(3, '2019-09-23 12:43:55.957076', 'superuser', '2019-09-23 12:43:55.957076', 'superuser', 'APP-20190923-0000003', 'Asset Management System');
/*!40000 ALTER TABLE `applications` ENABLE KEYS */;
-- Dumping data for table rms_db.attachments: ~0 rows (approximately)
DELETE FROM `attachments`;
/*!40000 ALTER TABLE `attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.authtoken_token: ~1 rows (approximately)
DELETE FROM `authtoken_token`;
/*!40000 ALTER TABLE `authtoken_token` DISABLE KEYS */;
INSERT INTO `authtoken_token` (`key`, `created`, `user_id`) VALUES
('d831ece5fd0f3f1dd94477a49266105b33f17dac', '2019-09-27 12:50:20.211696', 1);
/*!40000 ALTER TABLE `authtoken_token` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_access_token: ~0 rows (approximately)
DELETE FROM `auth_access_token`;
/*!40000 ALTER TABLE `auth_access_token` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_access_token` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_group: ~0 rows (approximately)
DELETE FROM `auth_group`;
/*!40000 ALTER TABLE `auth_group` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_group` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_group_permissions: ~0 rows (approximately)
DELETE FROM `auth_group_permissions`;
/*!40000 ALTER TABLE `auth_group_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_group_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_permission: ~136 rows (approximately)
DELETE FROM `auth_permission`;
/*!40000 ALTER TABLE `auth_permission` DISABLE KEYS */;
INSERT INTO `auth_permission` (`id`, `name`, `content_type_id`, `codename`) VALUES
(1, 'Can add log entry', 1, 'add_logentry'),
(2, 'Can change log entry', 1, 'change_logentry'),
(3, 'Can delete log entry', 1, 'delete_logentry'),
(4, 'Can view log entry', 1, 'view_logentry'),
(5, 'Can add permission', 2, 'add_permission'),
(6, 'Can change permission', 2, 'change_permission'),
(7, 'Can delete permission', 2, 'delete_permission'),
(8, 'Can view permission', 2, 'view_permission'),
(9, 'Can add group', 3, 'add_group'),
(10, 'Can change group', 3, 'change_group'),
(11, 'Can delete group', 3, 'delete_group'),
(12, 'Can view group', 3, 'view_group'),
(13, 'Can add content type', 4, 'add_contenttype'),
(14, 'Can change content type', 4, 'change_contenttype'),
(15, 'Can delete content type', 4, 'delete_contenttype'),
(16, 'Can view content type', 4, 'view_contenttype'),
(17, 'Can add session', 5, 'add_session'),
(18, 'Can change session', 5, 'change_session'),
(19, 'Can delete session', 5, 'delete_session'),
(20, 'Can view session', 5, 'view_session'),
(21, 'Can add Token', 6, 'add_token'),
(22, 'Can change Token', 6, 'change_token'),
(23, 'Can delete Token', 6, 'delete_token'),
(24, 'Can view Token', 6, 'view_token'),
(25, 'Can add user', 7, 'add_user'),
(26, 'Can change user', 7, 'change_user'),
(27, 'Can delete user', 7, 'delete_user'),
(28, 'Can view user', 7, 'view_user'),
(29, 'Can add application', 8, 'add_application'),
(30, 'Can change application', 8, 'change_application'),
(31, 'Can delete application', 8, 'delete_application'),
(32, 'Can view application', 8, 'view_application'),
(33, 'Can add attachment', 9, 'add_attachment'),
(34, 'Can change attachment', 9, 'change_attachment'),
(35, 'Can delete attachment', 9, 'delete_attachment'),
(36, 'Can view attachment', 9, 'view_attachment'),
(37, 'Can add change request form header', 10, 'add_changerequestformheader'),
(38, 'Can change change request form header', 10, 'change_changerequestformheader'),
(39, 'Can delete change request form header', 10, 'delete_changerequestformheader'),
(40, 'Can view change request form header', 10, 'view_changerequestformheader'),
(41, 'Can add change request history', 11, 'add_changerequesthistory'),
(42, 'Can change change request history', 11, 'change_changerequesthistory'),
(43, 'Can delete change request history', 11, 'delete_changerequesthistory'),
(44, 'Can view change request history', 11, 'view_changerequesthistory'),
(45, 'Can add change request template header', 12, 'add_changerequesttemplateheader'),
(46, 'Can change change request template header', 12, 'change_changerequesttemplateheader'),
(47, 'Can delete change request template header', 12, 'delete_changerequesttemplateheader'),
(48, 'Can view change request template header', 12, 'view_changerequesttemplateheader'),
(49, 'Can add company', 13, 'add_company'),
(50, 'Can change company', 13, 'change_company'),
(51, 'Can delete company', 13, 'delete_company'),
(52, 'Can view company', 13, 'view_company'),
(53, 'Can add email logs', 14, 'add_emaillogs'),
(54, 'Can change email logs', 14, 'change_emaillogs'),
(55, 'Can delete email logs', 14, 'delete_emaillogs'),
(56, 'Can view email logs', 14, 'view_emaillogs'),
(57, 'Can add entity log', 15, 'add_entitylog'),
(58, 'Can change entity log', 15, 'change_entitylog'),
(59, 'Can delete entity log', 15, 'delete_entitylog'),
(60, 'Can view entity log', 15, 'view_entitylog'),
(61, 'Can add password reset', 16, 'add_passwordreset'),
(62, 'Can change password reset', 16, 'change_passwordreset'),
(63, 'Can delete password reset', 16, 'delete_passwordreset'),
(64, 'Can view password reset', 16, 'view_passwordreset'),
(65, 'Can add permission', 17, 'add_permission'),
(66, 'Can change permission', 17, 'change_permission'),
(67, 'Can delete permission', 17, 'delete_permission'),
(68, 'Can view permission', 17, 'view_permission'),
(69, 'Can add role', 18, 'add_role'),
(70, 'Can change role', 18, 'change_role'),
(71, 'Can delete role', 18, 'delete_role'),
(72, 'Can view role', 18, 'view_role'),
(73, 'Can add status', 19, 'add_status'),
(74, 'Can change status', 19, 'change_status'),
(75, 'Can delete status', 19, 'delete_status'),
(76, 'Can view status', 19, 'view_status'),
(77, 'Can add user image', 20, 'add_userimage'),
(78, 'Can change user image', 20, 'change_userimage'),
(79, 'Can delete user image', 20, 'delete_userimage'),
(80, 'Can view user image', 20, 'view_userimage'),
(81, 'Can add role permission', 21, 'add_rolepermission'),
(82, 'Can change role permission', 21, 'change_rolepermission'),
(83, 'Can delete role permission', 21, 'delete_rolepermission'),
(84, 'Can view role permission', 21, 'view_rolepermission'),
(85, 'Can add notification', 22, 'add_notification'),
(86, 'Can change notification', 22, 'change_notification'),
(87, 'Can delete notification', 22, 'delete_notification'),
(88, 'Can view notification', 22, 'view_notification'),
(89, 'Can add module', 23, 'add_module'),
(90, 'Can change module', 23, 'change_module'),
(91, 'Can delete module', 23, 'delete_module'),
(92, 'Can view module', 23, 'view_module'),
(93, 'Can add department', 24, 'add_department'),
(94, 'Can change department', 24, 'change_department'),
(95, 'Can delete department', 24, 'delete_department'),
(96, 'Can view department', 24, 'view_department'),
(97, 'Can add change request template stake holders', 25, 'add_changerequesttemplatestakeholders'),
(98, 'Can change change request template stake holders', 25, 'change_changerequesttemplatestakeholders'),
(99, 'Can delete change request template stake holders', 25, 'delete_changerequesttemplatestakeholders'),
(100, 'Can view change request template stake holders', 25, 'view_changerequesttemplatestakeholders'),
(101, 'Can add change request template details', 26, 'add_changerequesttemplatedetails'),
(102, 'Can change change request template details', 26, 'change_changerequesttemplatedetails'),
(103, 'Can delete change request template details', 26, 'delete_changerequesttemplatedetails'),
(104, 'Can view change request template details', 26, 'view_changerequesttemplatedetails'),
(105, 'Can add change request template attachments', 27, 'add_changerequesttemplateattachments'),
(106, 'Can change change request template attachments', 27, 'change_changerequesttemplateattachments'),
(107, 'Can delete change request template attachments', 27, 'delete_changerequesttemplateattachments'),
(108, 'Can view change request template attachments', 27, 'view_changerequesttemplateattachments'),
(109, 'Can add change request template approvers', 28, 'add_changerequesttemplateapprovers'),
(110, 'Can change change request template approvers', 28, 'change_changerequesttemplateapprovers'),
(111, 'Can delete change request template approvers', 28, 'delete_changerequesttemplateapprovers'),
(112, 'Can view change request template approvers', 28, 'view_changerequesttemplateapprovers'),
(113, 'Can add change request form stake holders', 29, 'add_changerequestformstakeholders'),
(114, 'Can change change request form stake holders', 29, 'change_changerequestformstakeholders'),
(115, 'Can delete change request form stake holders', 29, 'delete_changerequestformstakeholders'),
(116, 'Can view change request form stake holders', 29, 'view_changerequestformstakeholders'),
(117, 'Can add change request form details', 30, 'add_changerequestformdetails'),
(118, 'Can change change request form details', 30, 'change_changerequestformdetails'),
(119, 'Can delete change request form details', 30, 'delete_changerequestformdetails'),
(120, 'Can view change request form details', 30, 'view_changerequestformdetails'),
(121, 'Can add change request form attachments', 31, 'add_changerequestformattachments'),
(122, 'Can change change request form attachments', 31, 'change_changerequestformattachments'),
(123, 'Can delete change request form attachments', 31, 'delete_changerequestformattachments'),
(124, 'Can view change request form attachments', 31, 'view_changerequestformattachments'),
(125, 'Can add change request form approvers', 32, 'add_changerequestformapprovers'),
(126, 'Can change change request form approvers', 32, 'change_changerequestformapprovers'),
(127, 'Can delete change request form approvers', 32, 'delete_changerequestformapprovers'),
(128, 'Can view change request form approvers', 32, 'view_changerequestformapprovers'),
(129, 'Can add auth token', 33, 'add_authtoken'),
(130, 'Can change auth token', 33, 'change_authtoken'),
(131, 'Can delete auth token', 33, 'delete_authtoken'),
(132, 'Can view auth token', 33, 'view_authtoken'),
(133, 'Can add allowed company', 34, 'add_allowedcompany'),
(134, 'Can change allowed company', 34, 'change_allowedcompany'),
(135, 'Can delete allowed company', 34, 'delete_allowedcompany'),
(136, 'Can view allowed company', 34, 'view_allowedcompany');
/*!40000 ALTER TABLE `auth_permission` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user: ~3 rows (approximately)
DELETE FROM `auth_user`;
/*!40000 ALTER TABLE `auth_user` DISABLE KEYS */;
INSERT INTO `auth_user` (`id`, `last_login`, `is_superuser`, `first_name`, `last_name`, `is_staff`, `is_active`, `date_joined`, `user_type`, `code`, `name`, `username`, `password`, `contact_no`, `email`, `default_app_id`, `department_id`, `doa_id`) VALUES
(1, '2019-09-23 15:50:43.923500', 1, '', '', 1, 1, '2019-09-23 12:42:37.938304', 'SU', 'USER-20190923-0000001', '', 'superuser', 'pbkdf2_sha256$150000$iRXbWni4Raha$8DJ3wThPtpO9yupcR/cZZQjSQz5DTTLrj2SWClkcqDc=', NULL, 'red@tirsolutions.com', 'APP-20190923-0000001', 'DEPARTMENT-20190923-0000001', NULL),
(9, NULL, 0, '', '', 0, 1, '2019-09-23 15:55:13.512369', 'DUA', 'USER-20190923-0000009', 'test', 'test', 'pbkdf2_sha256$150000$2TF6IEeZC2FJ$sYfzKL2W+9b25R0Is2zxJWgxkT3paN1uAf3xE4ZSz1g=', '132', 'test@mail.com', 'APP-20190923-0000002', 'DEPARTMENT-20190923-0000001', NULL),
(10, NULL, 0, '', '', 0, 1, '2019-09-23 16:06:31.459234', 'DUA', 'USER-20190923-0000010', 'qwe', 'qwe', 'pbkdf2_sha256$150000$SaaV0bSTBQmX$uimdUKd1jdSm2D1rjUlG3fbX1onTh6/T+RPeB3y73WI=', '123', 'qwe@qwe.com', 'APP-20190923-0000002', 'DEPARTMENT-20190923-0000001', NULL);
/*!40000 ALTER TABLE `auth_user` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_application: ~7 rows (approximately)
DELETE FROM `auth_user_application`;
/*!40000 ALTER TABLE `auth_user_application` DISABLE KEYS */;
INSERT INTO `auth_user_application` (`id`, `user_id`, `application_id`) VALUES
(1, 1, 1),
(2, 1, 2),
(3, 1, 3),
(15, 9, 1),
(16, 9, 2),
(17, 10, 1),
(18, 10, 2);
/*!40000 ALTER TABLE `auth_user_application` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_groups: ~0 rows (approximately)
DELETE FROM `auth_user_groups`;
/*!40000 ALTER TABLE `auth_user_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_groups` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_images: ~0 rows (approximately)
DELETE FROM `auth_user_images`;
/*!40000 ALTER TABLE `auth_user_images` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_images` ENABLE KEYS */;
-- Dumping data for table rms_db.auth_user_user_permissions: ~0 rows (approximately)
DELETE FROM `auth_user_user_permissions`;
/*!40000 ALTER TABLE `auth_user_user_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `auth_user_user_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_approvers: ~0 rows (approximately)
DELETE FROM `change_request_form_approvers`;
/*!40000 ALTER TABLE `change_request_form_approvers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_attachments: ~0 rows (approximately)
DELETE FROM `change_request_form_attachments`;
/*!40000 ALTER TABLE `change_request_form_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_details: ~0 rows (approximately)
DELETE FROM `change_request_form_details`;
/*!40000 ALTER TABLE `change_request_form_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_headers: ~0 rows (approximately)
DELETE FROM `change_request_form_headers`;
/*!40000 ALTER TABLE `change_request_form_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_form_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_form_stakeholders`;
/*!40000 ALTER TABLE `change_request_form_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_form_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_history: ~0 rows (approximately)
DELETE FROM `change_request_history`;
/*!40000 ALTER TABLE `change_request_history` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_history` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_approvers: ~0 rows (approximately)
DELETE FROM `change_request_template_approvers`;
/*!40000 ALTER TABLE `change_request_template_approvers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_approvers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_attachments: ~0 rows (approximately)
DELETE FROM `change_request_template_attachments`;
/*!40000 ALTER TABLE `change_request_template_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_details: ~0 rows (approximately)
DELETE FROM `change_request_template_details`;
/*!40000 ALTER TABLE `change_request_template_details` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_details` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_headers: ~0 rows (approximately)
DELETE FROM `change_request_template_headers`;
/*!40000 ALTER TABLE `change_request_template_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_headers` ENABLE KEYS */;
-- Dumping data for table rms_db.change_request_template_stakeholders: ~0 rows (approximately)
DELETE FROM `change_request_template_stakeholders`;
/*!40000 ALTER TABLE `change_request_template_stakeholders` DISABLE KEYS */;
/*!40000 ALTER TABLE `change_request_template_stakeholders` ENABLE KEYS */;
-- Dumping data for table rms_db.companies: ~2 rows (approximately)
DELETE FROM `companies`;
/*!40000 ALTER TABLE `companies` DISABLE KEYS */;
INSERT INTO `companies` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `contact_details`) VALUES
(1, '2019-09-23 12:45:31.058709', 'superuser', '2019-09-23 13:15:45.068355', 'superuser', 'COMPANY-20190923-0000001', 'Oneberry Technologies Pte Ltd.', '2152509'),
(2, '2019-09-23 13:05:24.438314', 'superuser', '2019-09-23 13:05:24.438314', 'superuser', 'COMPANY-20190923-0000002', 'Total Integrated Resources', '2152509');
/*!40000 ALTER TABLE `companies` ENABLE KEYS */;
-- Dumping data for table rms_db.departments: ~2 rows (approximately)
DELETE FROM `departments`;
/*!40000 ALTER TABLE `departments` DISABLE KEYS */;
INSERT INTO `departments` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `company_id`) VALUES
(1, '2019-09-23 12:45:52.531178', 'superuser', '2019-09-23 12:45:52.531178', 'superuser', 'DEPARTMENT-20190923-0000001', 'ADMIN', 'COMPANY-20190923-0000001'),
(2, '2019-09-23 13:05:01.811980', 'superuser', '2019-09-23 13:05:01.811980', 'superuser', 'DEPARTMENT-20190923-0000002', 'Business Develsopment', 'COMPANY-20190923-0000001');
/*!40000 ALTER TABLE `departments` ENABLE KEYS */;
-- Dumping data for table rms_db.django_admin_log: ~0 rows (approximately)
DELETE FROM `django_admin_log`;
/*!40000 ALTER TABLE `django_admin_log` DISABLE KEYS */;
/*!40000 ALTER TABLE `django_admin_log` ENABLE KEYS */;
-- Dumping data for table rms_db.django_content_type: ~35 rows (approximately)
DELETE FROM `django_content_type`;
/*!40000 ALTER TABLE `django_content_type` DISABLE KEYS */;
INSERT INTO `django_content_type` (`id`, `app_label`, `model`) VALUES
(1, 'admin', 'logentry'),
(3, 'auth', 'group'),
(2, 'auth', 'permission'),
(6, 'authtoken', 'token'),
(4, 'contenttypes', 'contenttype'),
(35, 'entities', 'allowedcompany'),
(8, 'entities', 'application'),
(9, 'entities', 'attachment'),
(34, 'entities', 'authtoken'),
(33, 'entities', 'changerequestformapprovers'),
(32, 'entities', 'changerequestformattachments'),
(31, 'entities', 'changerequestformdetails'),
(10, 'entities', 'changerequestformheader'),
(30, 'entities', 'changerequestformstakeholders'),
(11, 'entities', 'changerequesthistory'),
(29, 'entities', 'changerequesttemplateapprovers'),
(28, 'entities', 'changerequesttemplateattachments'),
(27, 'entities', 'changerequesttemplatedetails'),
(12, 'entities', 'changerequesttemplateheader'),
(26, 'entities', 'changerequesttemplatestakeholders'),
(13, 'entities', 'company'),
(25, 'entities', 'department'),
(14, 'entities', 'emaillogs'),
(15, 'entities', 'entitylog'),
(16, 'entities', 'masterattachment'),
(24, 'entities', 'module'),
(17, 'entities', 'notification'),
(18, 'entities', 'passwordreset'),
(19, 'entities', 'permission'),
(20, 'entities', 'role'),
(23, 'entities', 'rolepermission'),
(21, 'entities', 'status'),
(7, 'entities', 'user'),
(22, 'entities', 'userimage'),
(5, 'sessions', 'session');
/*!40000 ALTER TABLE `django_content_type` ENABLE KEYS */;
-- Dumping data for table rms_db.django_migrations: ~20 rows (approximately)
DELETE FROM `django_migrations`;
/*!40000 ALTER TABLE `django_migrations` DISABLE KEYS */;
INSERT INTO `django_migrations` (`id`, `app`, `name`, `applied`) VALUES
(1, 'contenttypes', '0001_initial', '2019-09-27 12:45:51.913469'),
(2, 'contenttypes', '0002_remove_content_type_name', '2019-09-27 12:45:52.473016'),
(3, 'auth', '0001_initial', '2019-09-27 12:45:52.976656'),
(4, 'auth', '0002_alter_permission_name_max_length', '2019-09-27 12:45:55.222944'),
(5, 'auth', '0003_alter_user_email_max_length', '2019-09-27 12:45:55.245943'),
(6, 'auth', '0004_alter_user_username_opts', '2019-09-27 12:45:55.272944'),
(7, 'auth', '0005_alter_user_last_login_null', '2019-09-27 12:45:55.296942'),
(8, 'auth', '0006_require_contenttypes_0002', '2019-09-27 12:45:55.315983'),
(9, 'auth', '0007_alter_validators_add_error_messages', '2019-09-27 12:45:55.338946'),
(10, 'auth', '0008_alter_user_username_max_length', '2019-09-27 12:45:55.362228'),
(11, 'auth', '0009_alter_user_last_name_max_length', '2019-09-27 12:45:55.388715'),
(12, 'auth', '0010_alter_group_name_max_length', '2019-09-27 12:45:55.790878'),
(13, 'auth', '0011_update_proxy_permissions', '2019-09-27 12:45:55.813918'),
(14, 'entities', '0001_initial', '2019-09-27 12:46:04.356028'),
(15, 'admin', '0001_initial', '2019-09-27 12:46:36.435784'),
(16, 'admin', '0002_logentry_remove_auto_add', '2019-09-27 12:46:37.603305'),
(17, 'admin', '0003_logentry_add_action_flag_choices', '2019-09-27 12:46:37.656648'),
(18, 'authtoken', '0001_initial', '2019-09-27 12:46:37.885305'),
(19, 'authtoken', '0002_auto_20160226_1747', '2019-09-27 12:46:39.629812'),
(20, 'sessions', '0001_initial', '2019-09-27 12:46:39.794596');
/*!40000 ALTER TABLE `django_migrations` ENABLE KEYS */;
-- Dumping data for table rms_db.django_session: ~0 rows (approximately)
DELETE FROM `django_session`;
/*!40000 ALTER TABLE `django_session` DISABLE KEYS */;
/*!40000 ALTER TABLE `django_session` ENABLE KEYS */;
-- Dumping data for table rms_db.email_logs: ~0 rows (approximately)
DELETE FROM `email_logs`;
/*!40000 ALTER TABLE `email_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `email_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.entity_logs: ~0 rows (approximately)
DELETE FROM `entity_logs`;
/*!40000 ALTER TABLE `entity_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `entity_logs` ENABLE KEYS */;
-- Dumping data for table rms_db.master_attachments: ~0 rows (approximately)
DELETE FROM `master_attachments`;
/*!40000 ALTER TABLE `master_attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `master_attachments` ENABLE KEYS */;
-- Dumping data for table rms_db.modules: ~6 rows (approximately)
DELETE FROM `modules`;
/*!40000 ALTER TABLE `modules` DISABLE KEYS */;
INSERT INTO `modules` (`id`, `created`, `createdby`, `modified`, `modifiedby`, `code`, `name`, `sort_id`, `component`, `application_id`, `parent_id`) VALUES
(1, '2019-09-27 12:49:27.795897', 'superuser', '2019-09-27 12:49:27.795897', 'superuser', 'MODULE-20190927-0000001', 'Application Management', 6, NULL, 'APP-20190923-0000001', NULL),
(2, '2019-09-27 12:49:31.756321', 'superuser', '2019-09-27 12:49:31.756321', 'superuser', 'MODULE-20190927-0000002', 'Company Management', 5, NULL, 'APP-20190923-0000001', NULL),
(3, '2019-09-27 12:49:49.528430', 'superuser', '2019-09-27 12:49:49.528430', 'superuser', 'MODULE-20190927-0000003', 'Department Management', 4, NULL, 'APP-20190923-0000001', NULL),
(4, '2019-09-27 12:49:57.378955', 'superuser', '2019-09-27 12:49:57.378955', 'superuser', 'MODULE-20190927-0000004', 'Module Management', 3, NULL, 'APP-20190923-0000001', NULL),
(5, '2019-09-27 12:50:01.383432', 'superuser', '2019-09-27 12:50:01.383432', 'superuser', 'MODULE-20190927-0000005', 'User Management', 2, NULL, 'APP-20190923-0000001', NULL),
(6, '2019-09-27 12:50:15.910699', 'superuser', '2019-09-27 12:50:15.911684', 'superuser', 'MODULE-20190927-0000006', 'Change Request Template', 1, NULL, 'APP-20190923-0000002', NULL);
/*!40000 ALTER TABLE `modules` ENABLE KEYS */;
-- Dumping data for table rms_db.notifications: ~0 rows (approximately)
DELETE FROM `notifications`;
/*!40000 ALTER TABLE `notifications` DISABLE KEYS */;
/*!40000 ALTER TABLE `notifications` ENABLE KEYS */;
-- Dumping data for table rms_db.password_resets: ~0 rows (approximately)
DELETE FROM `password_resets`;
/*!40000 ALTER TABLE `password_resets` DISABLE KEYS */;
/*!40000 ALTER TABLE `password_resets` ENABLE KEYS */;
-- Dumping data for table rms_db.permissions: ~0 rows (approximately)
DELETE FROM `permissions`;
/*!40000 ALTER TABLE `permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.roles: ~0 rows (approximately)
DELETE FROM `roles`;
/*!40000 ALTER TABLE `roles` DISABLE KEYS */;
/*!40000 ALTER TABLE `roles` ENABLE KEYS */;
-- Dumping data for table rms_db.role_permissions: ~0 rows (approximately)
DELETE FROM `role_permissions`;
/*!40000 ALTER TABLE `role_permissions` DISABLE KEYS */;
/*!40000 ALTER TABLE `role_permissions` ENABLE KEYS */;
-- Dumping data for table rms_db.status_set: ~0 rows (approximately)
DELETE FROM `status_set`;
/*!40000 ALTER TABLE `status_set` DISABLE KEYS */;
/*!40000 ALTER TABLE `status_set` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
This source diff could not be displayed because it is too large. You can view the blob instead.
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