From 18944dde2f085d0db18890032d020bc467a73e92 Mon Sep 17 00:00:00 2001 From: Srivatsa19 Date: Wed, 24 Apr 2024 02:07:22 +0530 Subject: [PATCH 1/2] Added notifications and tracking for each file --- .../migrations/0002_auto_20231116_2323.py | 18 - FusionIIIT/applications/iwdModuleV2/models.py | 13 - FusionIIIT/applications/iwdModuleV2/urls.py | 74 +- FusionIIIT/applications/iwdModuleV2/views.py | 683 ++++++++---------- .../iwdModuleV2/auditDocumentView.html | 25 +- .../iwdModuleV2/createdRequests.html | 26 +- .../templates/iwdModuleV2/dashboard.html | 14 +- .../iwdModuleV2/deanProcessedRequests.html | 28 +- .../engineerProcessedRequests.html | 25 +- .../generatedBillsRequestsView.html | 33 +- .../templates/iwdModuleV2/issueWorkOrder.html | 11 +- .../iwdModuleV2/requestsInProgress.html | 16 +- .../templates/iwdModuleV2/requestsView.html | 11 +- .../iwdModuleV2/settleBillsView.html | 27 +- .../templates/iwdModuleV2/updateRequests.html | 12 +- .../templates/iwdModuleV2/view_file.html | 165 +++++ .../templates/iwdModuleV2/workOrder.html | 10 + 17 files changed, 619 insertions(+), 572 deletions(-) delete mode 100644 FusionIIIT/applications/globals/migrations/0002_auto_20231116_2323.py create mode 100644 FusionIIIT/templates/iwdModuleV2/view_file.html diff --git a/FusionIIIT/applications/globals/migrations/0002_auto_20231116_2323.py b/FusionIIIT/applications/globals/migrations/0002_auto_20231116_2323.py deleted file mode 100644 index 51f5a76b5..000000000 --- a/FusionIIIT/applications/globals/migrations/0002_auto_20231116_2323.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2023-11-16 23:23 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/iwdModuleV2/models.py b/FusionIIIT/applications/iwdModuleV2/models.py index a0834f1bb..9a3337987 100644 --- a/FusionIIIT/applications/iwdModuleV2/models.py +++ b/FusionIIIT/applications/iwdModuleV2/models.py @@ -186,19 +186,6 @@ class WorkOrder(models.Model): alloted_time = models.CharField(max_length=200) start_date = models.DateField() completion_date = models.DateField() - -class Inventory(models.Model): - name = models.CharField(max_length=200) - quantity = models.IntegerField(default=0) - cost = models.IntegerField(default=0) - -class UsedItems(models.Model): - # requestId = models.IntegerField() - request_id = models.ForeignKey(Requests, on_delete=models.CASCADE) - itemName = models.CharField(max_length=200) - cost = models.IntegerField(default=0) - quantity = models.IntegerField(default=0) - date = models.DateField(default=date.today) class Bills(models.Model): # requestId = models.IntegerField() diff --git a/FusionIIIT/applications/iwdModuleV2/urls.py b/FusionIIIT/applications/iwdModuleV2/urls.py index 0c0830cea..e976034d3 100644 --- a/FusionIIIT/applications/iwdModuleV2/urls.py +++ b/FusionIIIT/applications/iwdModuleV2/urls.py @@ -1,5 +1,5 @@ -from django.conf.urls import url - +from django.conf.urls import url, include +from django.urls import path from . import views app_name = 'iwdModuleV2' @@ -37,45 +37,37 @@ url(r'addendumView/$', views.addendumView, name='Addendum View'), url('agreementView/$', views.agreementView, name='Agreement VIew'), url(r'corrigendumView/$', views.corrigendumView, name='Corrigendum View'), - url('requestsView/',views.requestsView, name='Requests view'), - url('createdRequestsView/',views.createdRequests, name='Created Requests view'), - url('handleEngineerProcessRequests/', views.handleEngineerProcessRequests, name='Engineer-Process-Requests'), - url('engineerProcessedRequestsView/',views.engineerProcessedRequests, name='Engineer-Processed-Requests view'), - url('handleDeanProcessRequests/', views.handleDeanProcessRequests, name='Dean-Process-Requests'), - url('deanProcessedRequestsView/',views.deanProcessedRequests, name='Dean-Processed-Requests view'), - url('handleDirectorApprovalRequests/', views.handleDirectorApprovalRequests, name='Director-Approval-Requests'), - url('handleDirectorRejectionRequests/', views.handleDirectorRejectionRequests, name='Director-Rejection-Requests'), - url('updateRejectedRequests/', views.updateRejectedRequests, name='Update-Rejected-Requests'), - url('handleUpdateRequests/', views.handleUpdateRequests, name='Handle-Update-Requests'), + url(r'^requestsView/',views.requestsView, name='Requests view'), + url(r'^createdRequestsView/',views.createdRequests, name='Created Requests view'), + url(r'^handleEngineerProcessRequests/', views.handleEngineerProcessRequests, name='Engineer-Process-Requests'), + url(r'^engineerProcessedRequestsView/',views.engineerProcessedRequests, name='Engineer-Processed-Requests view'), + url(r'^handleDeanProcessRequests/', views.handleDeanProcessRequests, name='Dean-Process-Requests'), + url(r'^deanProcessedRequestsView/',views.deanProcessedRequests, name='Dean-Processed-Requests view'), + url(r'^handleDirectorApprovalRequests/', views.handleDirectorApprovalRequests, name='Director-Approval-Requests'), + url(r'^updateRejectedRequests/', views.updateRejectedRequests, name='Update-Rejected-Requests'), + url(r'^handleUpdateRequests/', views.handleUpdateRequests, name='Handle-Update-Requests'), # url('rejectedRequests/', views.rejectedRequests, name='Rejected-Requests'), - url('rejectedRequestsView/',views.rejectedRequests, name='Rejected Requests view'), - url('requestsStatus/', views.requestsStatus, name='Requests-Status'), - url('fetchDesignations/', views.fetchDesignations, name='Fetch-Designations'), - url('fetchRequest/', views.fetchRequest, name='Fetch-Request'), - url('issueWorkOrder/', views.issueWorkOrder, name='Issue Work Order'), - url('workOrder/', views.workOrder, name='Work Order'), - url('inventory/', views.inventory, name='Inventory'), - url('addItemsView/', views.addItemsView, name='Add Items View'), - url('addItems/', views.addItems, name='Add Items'), - url('editInventoryView/', views.editInventoryView, name='Edit Inventory View'), - url('editInventory/', views.editInventory, name='Edit Inventory'), - url('requestsInProgess/', views.requestsInProgess, name='Requests In Progress'), - url('workCompleted/', views.workCompleted, name='Work Completed'), - url('requestFromInventory/', views.requestFromInventory, name='Request From Inventory'), - url('editInventoryAfterRequest/', views.editInventoryAfterRequest, name='Edit-Inventory-After-Request'), - url('generateFinalBill/', views.generateFinalBill, name='Generate-Final-Bill'), - url('handleBillGeneratedRequests/', views.handleBillGeneratedRequests, name='Handle-Bill-Generated-Requests'), - url('generatedBillsView/', views.generatedBillsView, name='Generated-Bills-View'), - url('handleProcessedBills/', views.handleProcessedBills, name='Handle-Processed-Bills'), - url('auditDocumentView/', views.auditDocumentView, name='Audit-Document-View'), - url('auditDocument/', views.auditDocument, name='Audit-Document'), - url('settleBillsView/', views.settleBillsView, name='Settle-Bills-View'), - url('handleSettleBillRequests/', views.handleSettleBillRequests, name='Handle-Settle-Bill-Requests'), - url('viewBudget/', views.viewBudget, name='View-Budget'), - url('budget/', views.budget, name='Budget'), - url('addBudget/', views.addBudget, name='Add-Budget'), - url('editBudgetView/', views.editBudgetView, name='Edit-Budget-View'), - url('editBudget/', views.editBudget, name='Edit-Budget'), - # url('billsView/',views.billsView, name='Bills View'), + url(r'^rejectedRequestsView/',views.rejectedRequests, name='Rejected Requests view'), + url(r'^requestsStatus/', views.requestsStatus, name='Requests-Status'), + url(r'^fetchDesignations/', views.fetchDesignations, name='Fetch-Designations'), + url(r'^fetchRequest/', views.fetchRequest, name='Fetch-Request'), + url(r'^issueWorkOrder/', views.issueWorkOrder, name='Issue Work Order'), + url(r'^workOrder/', views.workOrder, name='Work Order'), + url(r'^requestsInProgess/', views.requestsInProgess, name='Requests In Progress'), + url(r'^workCompleted/', views.workCompleted, name='Work Completed'), + url(r'^generateFinalBill/', views.generateFinalBill, name='Generate-Final-Bill'), + url(r'^handleBillGeneratedRequests/', views.handleBillGeneratedRequests, name='Handle-Bill-Generated-Requests'), + url(r'^generatedBillsView/', views.generatedBillsView, name='Generated-Bills-View'), + url(r'^handleProcessedBills/', views.handleProcessedBills, name='Handle-Processed-Bills'), + url(r'^auditDocumentView/', views.auditDocumentView, name='Audit-Document-View'), + url(r'^auditDocument/', views.auditDocument, name='Audit-Document'), + url(r'^settleBillsView/', views.settleBillsView, name='Settle-Bills-View'), + url(r'^handleSettleBillRequests/', views.handleSettleBillRequests, name='Handle-Settle-Bill-Requests'), + url(r'^viewBudget/', views.viewBudget, name='View-Budget'), + url(r'^budget/', views.budget, name='Budget'), + url(r'^addBudget/', views.addBudget, name='Add-Budget'), + url(r'^editBudgetView/', views.editBudgetView, name='Edit-Budget-View'), + url(r'^editBudget/', views.editBudget, name='Edit-Budget'), + path('view_file//',views.view_file,name="view_file"), ] diff --git a/FusionIIIT/applications/iwdModuleV2/views.py b/FusionIIIT/applications/iwdModuleV2/views.py index 38a7e4ee7..1f999ebd9 100644 --- a/FusionIIIT/applications/iwdModuleV2/views.py +++ b/FusionIIIT/applications/iwdModuleV2/views.py @@ -1,12 +1,15 @@ from django.shortcuts import render, redirect from django.urls import reverse from django.db.models import Q +from django.contrib import messages from applications.globals.models import * +from applications.ps1.models import * from django.contrib.auth.decorators import login_required from .models import * from django.http import HttpResponseRedirect from applications.filetracking.sdk.methods import * from applications.globals.models import ExtraInfo, HoldsDesignation, Designation +from notification.views import iwd_notif from datetime import datetime from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas @@ -41,12 +44,7 @@ #Junior Engineer, Electrical Engineer (Civil), Electrical_AE, Electrical_JE, EE, Civil_AE, Civil_JE def dashboard(request): - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name - print(eligible) + eligible = request.session.get('currentDesignationSelected') return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) def page1_1(request): @@ -476,7 +474,6 @@ def fetchDesignations(request): def requestsView(request): if request.method == 'POST': formObject = Requests() - # formObject.key = Projects.objects.get(id=request.session['projectId']) formObject.name = request.POST['name'] formObject.description = request.POST['description'] formObject.area = request.POST['area'] @@ -491,47 +488,53 @@ def requestsView(request): formObject.billProcessed = 0 formObject.billSettled = 0 formObject.save() - print(request.user) - print(request.user.username) request_object = Requests.objects.get(pk=formObject.pk) - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) - print(d) - print(d1) + desg = request.session.get('currentDesignationSelected') + receiver_user, receiver_desg = request.POST['designation'].split('|') create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, + uploader_designation=desg, + receiver=receiver_user, + receiver_designation=receiver_desg, src_module="IWD", src_object_id= str(request_object.id), file_extra_JSON= {"value": 2}, attached_file = None) + messages.success(request, "Request Successfully Created") + receiver_user_obj = User.objects.get(username=receiver_user) - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name + iwd_notif(request.user, receiver_user_obj, "Request_added") + + eligible = request.session.get('currentDesignationSelected') return render(request, 'iwdModuleV2/dashboard.html', {'eligible' : eligible}) @login_required def createdRequests(request): obj = [] - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) for result in inbox_files: src_object_id = result['src_object_id'] request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id= request_object.id, src_module = "IWD") if request_object: - element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] obj.append(element) + return render(request, 'iwdModuleV2/createdRequests.html', {'obj' : obj}) + +@login_required +def view_file(request, id, url): + file1= File.objects.get(id=id) + tracks= Tracking.objects.filter(file_id=file1) + current_user = Tracking.objects.filter(file_id=file1).order_by('-receive_date')[0].receiver_id + print(current_user) + designations = Designation.objects.filter() holdsDesignations = [] @@ -542,231 +545,218 @@ def createdRequests(request): list = HoldsDesignation.objects.filter(designation=d) holdsDesignations.append(list) - return render(request, 'iwdModuleV2/createdRequests.html', {'obj' : obj, 'holdsDesignations' : holdsDesignations}) + eligible = request.session.get('currentDesignationSelected') + + return render(request, "iwdModuleV2/view_file.html", context= {"file": file1, "tracks": tracks, "current_user": current_user, "holdsDesignations" : holdsDesignations, "url" : url, "eligible" : eligible}) @login_required def handleEngineerProcessRequests(request): if request.method == 'POST': + obj= request.POST + + fileid = obj.get('fileid') + request_id = File.objects.get(id=fileid).src_object_id + + remarks = obj.get('remarks') + attachment = request.FILES.get('attachment') + receiver_user, receiver_desg = request.POST['designation'].split('|') + - request_id = request.POST.get("id", 0) + forward_file( + file_id= fileid, + receiver= receiver_user, + receiver_designation=receiver_desg, + file_extra_JSON= { "message": "Request forwarded."}, + remarks= remarks, + file_attachment= attachment, + ) - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + Requests.objects.filter(id=request_id).update(engineerProcessed=1, status="Approved by the Engineer") + + obj = [] + desg = request.session.get('currentDesignationSelected') - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(request_id), - file_extra_JSON= {"value": 2}, - attached_file = None) - - Requests.objects.filter(id=request_id).update(engineerProcessed=1, status="Approved by the engineer") - inbox_files = view_inbox( username=request.user, - designation=d1.designation, + designation=desg, src_module="IWD" ) - for p in inbox_files: - if p['src_object_id'] == request_id: - delete_file(file_id = p['id']) - break + for result in inbox_files: + src_object_id = result['src_object_id'] + request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id= request_object.id, src_module = "IWD") + if request_object: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] + obj.append(element) + + messages.success(request, "File Forwarded") + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, "file_forward") - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name + return render(request, 'iwdModuleV2/createdRequests.html', {'obj' : obj}) - return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) @login_required def engineerProcessedRequests(request): obj = [] - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) for result in inbox_files: src_object_id = result['src_object_id'] request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id= src_object_id, src_module = "IWD") if request_object: - element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] obj.append(element) - designations = Designation.objects.filter() - - holdsDesignations = [] - - for d in designations: - for x in designations_list: - if d.name == x: - list = HoldsDesignation.objects.filter(designation=d) - holdsDesignations.append(list) - - return render(request, 'iwdModuleV2/engineerProcessedRequests.html', {'obj' : obj, 'holdsDesignations' : holdsDesignations}) + return render(request, 'iwdModuleV2/engineerProcessedRequests.html', {'obj' : obj}) @login_required def handleDeanProcessRequests(request): if request.method == 'POST': - request_id = request.POST.get("id", 0) - - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + obj= request.POST + + fileid = obj.get('fileid') + request_id = File.objects.get(id=fileid).src_object_id + + remarks = obj.get('remarks') + attachment = request.FILES.get('attachment') + receiver_user, receiver_desg = request.POST['designation'].split('|') + - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(request_id), - file_extra_JSON= {"value": 2}, - attached_file = None) + forward_file( + file_id= fileid, + receiver= receiver_user, + receiver_designation=receiver_desg, + file_extra_JSON= { "message": "Request forwarded."}, + remarks= remarks, + file_attachment= attachment, + ) Requests.objects.filter(id=request_id).update(deanProcessed=1, status="Approved by the dean") + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d1.designation, + designation=desg, src_module="IWD" ) - for p in inbox_files: - if p['src_object_id'] == request_id: - delete_file(file_id = p['id']) - break + obj = [] - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name - return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) + for result in inbox_files: + src_object_id = result['src_object_id'] + request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id = src_object_id, src_module = "IWD") + if request_object: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] + obj.append(element) + + messages.success(request, "File Forwarded") + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, "file_forward") + + return render(request, 'iwdModuleV2/engineerProcessedRequests.html', {'obj': obj}) @login_required def deanProcessedRequests(request): obj = [] - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) for result in inbox_files: src_object_id = result['src_object_id'] request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id = src_object_id, src_module = "IWD") if request_object: - element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] obj.append(element) - designations = Designation.objects.filter() - - holdsDesignations = [] - - for d in designations: - for x in designations_list: - if d.name == x: - list = HoldsDesignation.objects.filter(designation=d) - holdsDesignations.append(list) - - return render(request, 'iwdModuleV2/deanProcessedRequests.html', {'obj' : obj, 'holdsDesignations' : holdsDesignations}) + return render(request, 'iwdModuleV2/deanProcessedRequests.html', {'obj' : obj}) @login_required def handleDirectorApprovalRequests(request): if request.method == 'POST': - request_id = request.POST.get("id", 0) - - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) - - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(request_id), - file_extra_JSON= {"value": 2}, - attached_file = None) + obj= request.POST + + fileid = obj.get('fileid') + request_id = File.objects.get(id=fileid).src_object_id + + remarks = obj.get('remarks') + attachment = request.FILES.get('attachment') + receiver_user, receiver_desg = request.POST['designation'].split('|') - Requests.objects.filter(id=request_id).update(directorApproval=1, status="Approved by the director") - inbox_files = view_inbox( - username=request.user, - designation=d1.designation, - src_module="IWD" + forward_file( + file_id= fileid, + receiver= receiver_user, + receiver_designation=receiver_desg, + file_extra_JSON= { "message": "Request forwarded."}, + remarks= remarks, + file_attachment= attachment, ) - for p in inbox_files: - if p['src_object_id'] == request_id: - delete_file(file_id = p['id']) - break - - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name - return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) + message = "" -@login_required -def handleDirectorRejectionRequests(request): - if request.method == 'POST': - request_id = request.POST.get("id", 0) - - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + if (obj.get('action') == 'approve'): + message = "Request_approved" + Requests.objects.filter(id=request_id).update(directorApproval=1, status="Approved by the director") + else: + message = "Request_rejected" + Requests.objects.filter(id=request_id).update(directorApproval=-1, status="Rejected by the director") - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(request_id), - file_extra_JSON= {"value": 2}, - attached_file = None) - - Requests.objects.filter(id=request_id).update(directorApproval=-1, status="Rejected by the director") + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d1.designation, + designation=desg, src_module="IWD" ) - for p in inbox_files: - if p['src_object_id'] == request_id: - delete_file(file_id = p['id']) - break + obj = [] - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name - return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) + for result in inbox_files: + src_object_id = result['src_object_id'] + request_object = Requests.objects.filter(id=src_object_id).first() + file_obj= File.objects.get(src_object_id = src_object_id, src_module = "IWD") + if request_object: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] + obj.append(element) + + messages.success(request, "File forwarded") + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, message) + + return render(request, 'iwdModuleV2/deanProcessedRequests.html', {'obj': obj}) @login_required def rejectedRequests(request): obj = [] - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) @@ -793,11 +783,11 @@ def rejectedRequests(request): def updateRejectedRequests(request): request_id = request.POST.get("id", 0) - d1 = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d1.designation, + designation=desg, src_module="IWD" ) @@ -827,8 +817,8 @@ def updateRejectedRequests(request): def handleUpdateRequests(request): if request.method == 'POST': request_id = request.POST.get("id", 0) - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') + receiver_user, receiver_desg = request.POST['designation'].split('|') Requests.objects.filter(id=request_id).update(name=request.POST['name'], description=request.POST['description'], area=request.POST['area'], @@ -843,41 +833,38 @@ def handleUpdateRequests(request): billProcessed=0, billSettled=0) create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, + uploader_designation=desg, + receiver=receiver_user, + receiver_designation=receiver_desg, src_module="IWD", src_object_id= str(request_id), file_extra_JSON= {"value": 2}, attached_file = None) - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name + messages.success(request, "Request updated") + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, "Request_added") + eligible = request.session.get('currentDesignationSelected') return render(request, 'iwdModuleV2/dashboard.html', {'eligible' : eligible}) @login_required def issueWorkOrder(request): obj = [] - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) for result in inbox_files: - uploader = result['sent_by_designation'] - if uploader == 'Director': - src_object_id = result['src_object_id'] - request_object = Requests.objects.filter(id=src_object_id).first() - if request_object: - element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] - obj.append(element) - + src_object_id = result['src_object_id'] + request_object = Requests.objects.filter(id=src_object_id, directorApproval=1, issuedWorkOrder=0).first() + if request_object: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] + obj.append(element) return render(request, 'iwdModuleV2/issueWorkOrder.html', {'obj' : obj}) @login_required @@ -904,36 +891,23 @@ def workOrder(request): Requests.objects.filter(id=request.POST['id']).update(status="Work Order issued", issuedWorkOrder=1) - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, - src_module="IWD" - ) - - for result in inbox_files: - if result['src_object_id'] == request.POST['id'] and result['sent_by_designation'] == 'Director': - delete_file(file_id = result['id']) - break - - inbox_files = view_inbox( - username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) obj = [] for result in inbox_files: - uploader = result['sent_by_designation'] - if uploader == 'Director': - src_object_id = result['src_object_id'] - request_object = Requests.objects.filter(id=src_object_id).first() - if request_object: - element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] - obj.append(element) - + src_object_id = result['src_object_id'] + request_object = Requests.objects.filter(id=src_object_id).first() + if request_object.issuedWorkOrder==0: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy] + obj.append(element) + messages.success(request, "Work Order Issued") return render(request, 'iwdModuleV2/issueWorkOrder.html', {'obj' : obj}) @login_required @@ -945,56 +919,6 @@ def requestsStatus(request): obj.append(element) return render(request, 'iwdModuleV2/requestsStatus.html', {'obj' : obj}) -@login_required -def inventory(request): - items = Inventory.objects.filter() - obj = [] - for i in items: - element = [i.id, i.name, i.quantity, i.cost] - obj.append(element) - return render(request, 'iwdModuleV2/inventory.html', {'obj' : obj}) - -@login_required -def addItemsView(request): - return render(request, 'iwdModuleV2/addItemsView.html') - -@login_required -def addItems(request): - if request.method == "POST": - formObject = Inventory() - formObject.name = request.POST['name'] - formObject.quantity = request.POST['quantity'] - formObject.cost = request.POST['cost'] - formObject.save() - return render(request, 'iwdModuleV2/addItemsView.html') - -@login_required -def editInventoryView(request): - items = Inventory.objects.filter() - obj = [] - for i in items: - element = [i.id, i.name, i.quantity, i.cost] - obj.append(element) - return render(request, 'iwdModuleV2/editInventory.html', {'obj' : obj}) - -@login_required -def editInventory(request): - if request.method == "POST": - itemId = request.POST['id'] - itemName = request.POST['name'] - itemQuantity = request.POST['quantity'] - itemCost = request.POST['cost'] - if itemQuantity == "0": - Inventory.objects.filter(id=itemId).delete() - else: - Inventory.objects.filter(id=itemId).update(name=itemName, quantity=itemQuantity, cost=itemCost) - items = Inventory.objects.filter() - obj = [] - for i in items: - element = [i.id, i.name, i.quantity, i.cost] - obj.append(element) - return render(request, 'iwdModuleV2/editInventory.html', {'obj' : obj}) - @login_required def requestsInProgess(request): obj = [] @@ -1013,63 +937,33 @@ def workCompleted(request): for x in requestsObject: element = [x.id, x.name, x.area, x.description, x.requestCreatedBy, x.workCompleted] obj.append(element) + messages.success(request, "Work Completed") return render(request, 'iwdModuleV2/requestsInProgress.html', {'obj' : obj}) -@login_required -def requestFromInventory(request): - if request.method == 'POST': - requestId = request.POST['id'] - Req = Requests.objects.filter(id=requestId) - Items = Inventory.objects.filter() - req = [] - items = [] - for x in Req: - element = [x.id, x.name, x.area, x.description, x.requestCreatedBy, x.workCompleted] - req.append(element) - - for x in Items: - element = [x.id, x.name, x.quantity, x.cost] - items.append(element) - print(items) - return render(request, 'iwdModuleV2/requestFromInventory.html', {'req' : req, 'items' : items}) - -@login_required -def editInventoryAfterRequest(request): - if request.method == 'POST': - selectedItem = Inventory.objects.get(id=request.POST['selected_item_id']) - q = int(selectedItem.quantity) - if q == int(request.POST['quantity']): - Inventory.objects.filter(id=request.POST['selected_item_id']).delete() - else: - Inventory.objects.filter(id=request.POST['selected_item_id']).update(quantity=(q-int(request.POST['quantity']))) - formObject = UsedItems() - request_instance = Requests.objects.get(pk=request.POST['id']) - formObject.request_id = request_instance - formObject.itemName = selectedItem.name - formObject.cost = selectedItem.cost - formObject.quantity = request.POST['quantity'] - formObject.date = datetime.now().date() - formObject.save() - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name - return render(request, 'iwdModuleV2/dashboard.html', {'eligible': eligible}) - @login_required def generateFinalBill(request): if request.method == 'POST': requestId = request.POST.get("id", 0) - usedItems = UsedItems.objects.filter(request_id=requestId) + # usedItems = UsedItems.objects.filter(request_id=requestId) workOrder = WorkOrder.objects.get(request_id=requestId) + iwd_items = StockItem.objects.filter(department = 34) + itemsList = [] - for used in usedItems: - element = [used.itemName, used.quantity, used.cost, used.date] - itemsList.append(element) + for x in iwd_items: + stock_entry_id = x.StockEntryId.item_id.file_info + indent_file_object = IndentFile.objects.filter(file_info = stock_entry_id) + for items in indent_file_object: + if items.purpose == requestId: + element = [items.item_name, items.quantity, items.estimated_cost, items.file_info.upload_date] + itemsList.append(element) + + + # for used in usedItems: + # element = [used.itemName, used.quantity, used.cost, used.date] + # itemsList.append(element) filename = f"Request_id_{requestId}_final_bill.pdf" @@ -1120,6 +1014,8 @@ def generateFinalBill(request): response['Content-Disposition'] = f'attachment; filename="{filename}"' response.write(buffer.getvalue()) + # messages.success(request, "Bill generated") + return response @login_required @@ -1136,69 +1032,75 @@ def handleBillGeneratedRequests(request): @login_required def generatedBillsView(request): - request_object = Requests.objects.filter(billGenerated=1, billProcessed=0) + request_object = Requests.objects.filter(billGenerated=1) obj = [] for x in request_object: - element = [x.id, x.name, x.description, x.area, x.requestCreatedBy] - obj.append(element) - designations = Designation.objects.filter() - - holdsDesignations = [] - - for d in designations: - for x in designations_list: - if d.name == x: - list = HoldsDesignation.objects.filter(designation=d) - holdsDesignations.append(list) + file_obj= File.objects.get(src_object_id= x.id, src_module = "IWD") + if request_object: + element = [x.id, x.name, x.description, x.area, x.requestCreatedBy, file_obj.id] + obj.append(element) - return render(request, 'iwdModuleV2/generatedBillsRequestsView.html', {'obj' : obj, 'holdsDesignations' : holdsDesignations}) + return render(request, 'iwdModuleV2/generatedBillsRequestsView.html', {'obj' : obj}) @login_required def handleProcessedBills(request): if request.method == 'POST': - requestId = request.POST.get("id", 0) - request_instance = Requests.objects.get(pk=requestId) + obj= request.POST + + fileid = obj.get('fileid') + # filez= File.objects.get(id=fileid) + request_id = File.objects.get(id=fileid).src_object_id + + remarks = obj.get('remarks') + attachment = request.FILES.get('attachment') + receiver_user, receiver_desg = request.POST['designation'].split('|') + - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + forward_file( + file_id= fileid, + receiver= receiver_user, + receiver_designation=receiver_desg, + file_extra_JSON= { "message": "Request forwarded."}, + remarks= remarks, + file_attachment= attachment, + ) + + Requests.objects.filter(id=request_id).update(billProcessed=1, status="Final Bill Processed") + - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(requestId), - file_extra_JSON= {"value": 2}, - attached_file = request.FILES['bill']) + request_instance = Requests.objects.get(pk=request_id) formObject = Bills() formObject.request_id = request_instance - formObject.file = request.FILES['bill'] + formObject.file = attachment formObject.save() - Requests.objects.filter(id=requestId).update(status="Final Bill Processed", billProcessed=1) + req_object = Requests.objects.filter(billGenerated=1) - request_object = Requests.objects.filter(billGenerated=1, billProcessed=0) obj = [] - for x in request_object: - element = [x.id, x.name, x.description, x.area, x.requestCreatedBy] - obj.append(element) - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name + for result in req_object: + request_object = Requests.objects.filter(id=result.id).first() + file_obj= File.objects.get(src_object_id = result.id, src_module = "IWD") + if request_object: + element = [request_object.id, request_object.name, request_object.area, request_object.description, request_object.requestCreatedBy, file_obj.id] + obj.append(element) - return render(request, 'iwdModuleV2/dashboard.html', {'obj' : obj, 'eligible': eligible}) + messages.success(request, "Bill processed") + + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, "file_forward") + + return render(request, 'iwdModuleV2/generatedBillsRequestsView.html', {'obj' : obj}) @login_required def auditDocumentView(request): - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) @@ -1207,66 +1109,68 @@ def auditDocumentView(request): for x in inbox_files: requestId = x['src_object_id'] files = Bills.objects.get(request_id=requestId) - element = [files.request_id.id, files.file, files.file.url] + file_obj= File.objects.get(src_object_id = requestId, src_module = "IWD") + element = [files.request_id.id, files.file, files.file.url, file_obj.id, file_obj.id, file_obj.id] obj.append(element) - designations = Designation.objects.filter() - - holdsDesignations = [] - - for d in designations: - if d.name == "Engineer" or d.name == "Dean" or d.name == "Director" or d.name == "Accounts Admin" or d.name == "Admin IWD": - list = HoldsDesignation.objects.filter(designation=d) - holdsDesignations.append(list) - - return render(request, 'iwdModuleV2/auditDocumentView.html', {'obj' : obj, 'holdsDesignations' : holdsDesignations}) + return render(request, 'iwdModuleV2/auditDocumentView.html', {'obj' : obj}) @login_required def auditDocument(request): if request.method == 'POST': - requestId = request.POST.get("id", 0) + obj= request.POST + + fileid = obj.get('fileid') + request_id = File.objects.get(id=fileid).src_object_id + + remarks = obj.get('remarks') + attachment = request.FILES.get('attachment') + receiver_user, receiver_desg = request.POST['designation'].split('|') + - d = HoldsDesignation.objects.get(user__username=request.POST['designation']) - d1 = HoldsDesignation.objects.get(user__username=request.user) + forward_file( + file_id= fileid, + receiver= receiver_user, + receiver_designation=receiver_desg, + file_extra_JSON= { "message": "Request forwarded."}, + remarks= remarks, + file_attachment= attachment, + ) - create_file(uploader=request.user.username, - uploader_designation=d1.designation, - receiver=request.POST['designation'], - receiver_designation=d.designation, - src_module="IWD", - src_object_id= str(requestId), - file_extra_JSON= {"value": 2}, - attached_file = None) + Requests.objects.filter(id=request_id).update(status="Bill Audited") + + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d1.designation, + designation=desg, src_module="IWD" ) - for result in inbox_files: - print(result['src_object_id']) - if result['src_object_id'] == requestId: - delete_file(file_id = result['id']) - break + obj = [] - Requests.objects.filter(id=requestId).update(status="Bill Audited") + for x in inbox_files: + requestId = x['src_object_id'] + files = Bills.objects.get(request_id=requestId) + file_obj= File.objects.get(src_object_id = requestId, src_module = "IWD") + element = [files.request_id.id, files.file, files.file.url, file_obj.id, file_obj.id, file_obj.id] + obj.append(element) - eligible = "" - userObj = request.user - userDesignationObjects = HoldsDesignation.objects.filter(user=userObj) - for p in userDesignationObjects: - eligible = p.designation.name + messages.success(request, "File Audit done") - return render(request, 'iwdModuleV2/dashboard.html', {'eligible' : eligible}) + receiver_user_obj = User.objects.get(username=receiver_user) + + iwd_notif(request.user, receiver_user_obj, "file_forward") + + return render(request, 'iwdModuleV2/auditDocumentView.html', {'obj' : obj}) @login_required def settleBillsView(request): - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) @@ -1275,7 +1179,9 @@ def settleBillsView(request): for x in inbox_files: requestId = x['src_object_id'] bills_object = Bills.objects.filter(request_id=requestId).first() - element = [bills_object.request_id.id, bills_object.file, bills_object.file.url] + file_obj= File.objects.get(src_object_id = requestId, src_module = "IWD") + request_object = Requests.objects.get(id = requestId) + element = [bills_object.request_id.id, bills_object.file, bills_object.file.url, request_object.billSettled, file_obj.id, file_obj.id] obj.append(element) return render(request, 'iwdModuleV2/settleBillsView.html', {'obj' : obj}) @@ -1285,35 +1191,28 @@ def handleSettleBillRequests(request): if request.method == 'POST': request_id = request.POST.get("id", 0) - d = HoldsDesignation.objects.get(user__username=request.user) + desg = request.session.get('currentDesignationSelected') inbox_files = view_inbox( username=request.user, - designation=d.designation, + designation=desg, src_module="IWD" ) - for p in inbox_files: - if p['src_object_id'] == request_id: - delete_file(file_id = p['id']) - break - Requests.objects.filter(id=request_id).update(status="Final Bill Settled", billSettled=1) - inbox_files = view_inbox( - username=request.user, - designation=d.designation, - src_module="IWD" - ) - obj = [] for x in inbox_files: - request_id = x['src_object_id'] - bills_object = Bills.objects.get(request_id=request_id) - element = [request_id, bills_object.file, bills_object.file.url] + requestId = x['src_object_id'] + bills_object = Bills.objects.filter(request_id=requestId).first() + file_obj= File.objects.get(src_object_id = requestId, src_module = "IWD") + request_object = Requests.objects.get(id = requestId) + element = [bills_object.request_id.id, bills_object.file, bills_object.file.url, request_object.billSettled, file_obj.id, file_obj.id] obj.append(element) + messages.success(request, "Final Bill settled") + return render(request, 'iwdModuleV2/settleBillsView.html', {'obj' : obj}) @login_required diff --git a/FusionIIIT/templates/iwdModuleV2/auditDocumentView.html b/FusionIIIT/templates/iwdModuleV2/auditDocumentView.html index afb68fc59..c891c37c4 100644 --- a/FusionIIIT/templates/iwdModuleV2/auditDocumentView.html +++ b/FusionIIIT/templates/iwdModuleV2/auditDocumentView.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -57,7 +67,6 @@ Id Document - Send To @@ -67,19 +76,7 @@ {{f.0}} {{f.1}} - -
- {% csrf_token %} - - - -
+ diff --git a/FusionIIIT/templates/iwdModuleV2/createdRequests.html b/FusionIIIT/templates/iwdModuleV2/createdRequests.html index cce743dec..bc18b8640 100644 --- a/FusionIIIT/templates/iwdModuleV2/createdRequests.html +++ b/FusionIIIT/templates/iwdModuleV2/createdRequests.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -54,14 +64,12 @@ - - @@ -74,19 +82,7 @@ diff --git a/FusionIIIT/templates/iwdModuleV2/dashboard.html b/FusionIIIT/templates/iwdModuleV2/dashboard.html index c8ffaa0ec..f8b80762f 100644 --- a/FusionIIIT/templates/iwdModuleV2/dashboard.html +++ b/FusionIIIT/templates/iwdModuleV2/dashboard.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + + {% comment %}The grid starts here!{% endcomment %}
Details:-
Id Name Description Area Created BySend to
{{f.2}} {{f.4}} - -
- {% csrf_token %} - - - -
+
- @@ -65,32 +64,7 @@ diff --git a/FusionIIIT/templates/iwdModuleV2/engineerProcessedRequests.html b/FusionIIIT/templates/iwdModuleV2/engineerProcessedRequests.html index 6b7386054..115c0c74a 100644 --- a/FusionIIIT/templates/iwdModuleV2/engineerProcessedRequests.html +++ b/FusionIIIT/templates/iwdModuleV2/engineerProcessedRequests.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -56,7 +66,6 @@
Details:-
Id Name{{f.2}} {{f.4}} -
-
- {% csrf_token %} - - - -
-
- {% csrf_token %} - - - -
-
+
- @@ -75,19 +84,7 @@ diff --git a/FusionIIIT/templates/iwdModuleV2/generatedBillsRequestsView.html b/FusionIIIT/templates/iwdModuleV2/generatedBillsRequestsView.html index 38badd860..2c76e79fb 100644 --- a/FusionIIIT/templates/iwdModuleV2/generatedBillsRequestsView.html +++ b/FusionIIIT/templates/iwdModuleV2/generatedBillsRequestsView.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -58,8 +68,6 @@
- - @@ -69,24 +77,9 @@ -
- {% csrf_token %} -
- - + {% endfor %} diff --git a/FusionIIIT/templates/iwdModuleV2/issueWorkOrder.html b/FusionIIIT/templates/iwdModuleV2/issueWorkOrder.html index 7aef765b2..ce77ceef4 100644 --- a/FusionIIIT/templates/iwdModuleV2/issueWorkOrder.html +++ b/FusionIIIT/templates/iwdModuleV2/issueWorkOrder.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -54,7 +64,6 @@
Details:-
Id Name{{f.2}} {{f.4}} - -
- {% csrf_token %} - - - -
+
Id Name Created ByBillSend to
{{f.0}} {{f.1}} {{f.4}} - - - - - - - + +
- diff --git a/FusionIIIT/templates/iwdModuleV2/requestsInProgress.html b/FusionIIIT/templates/iwdModuleV2/requestsInProgress.html index bceaad0ab..d38fa62c7 100644 --- a/FusionIIIT/templates/iwdModuleV2/requestsInProgress.html +++ b/FusionIIIT/templates/iwdModuleV2/requestsInProgress.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -93,11 +103,7 @@
-
- {% csrf_token %} - - - + {% endif %}
diff --git a/FusionIIIT/templates/iwdModuleV2/requestsView.html b/FusionIIIT/templates/iwdModuleV2/requestsView.html index 882e84274..408bc229d 100644 --- a/FusionIIIT/templates/iwdModuleV2/requestsView.html +++ b/FusionIIIT/templates/iwdModuleV2/requestsView.html @@ -11,6 +11,15 @@ {% block navBar %} {% include 'dashboard/navbar.html' %} {% endblock %} +
@@ -82,7 +91,7 @@ diff --git a/FusionIIIT/templates/iwdModuleV2/settleBillsView.html b/FusionIIIT/templates/iwdModuleV2/settleBillsView.html index 928d3a092..4aa8bb26a 100644 --- a/FusionIIIT/templates/iwdModuleV2/settleBillsView.html +++ b/FusionIIIT/templates/iwdModuleV2/settleBillsView.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -58,6 +68,7 @@
+ {% for f in obj %} @@ -66,12 +77,16 @@ + diff --git a/FusionIIIT/templates/iwdModuleV2/updateRequests.html b/FusionIIIT/templates/iwdModuleV2/updateRequests.html index 3a63ab253..915aa6e3b 100644 --- a/FusionIIIT/templates/iwdModuleV2/updateRequests.html +++ b/FusionIIIT/templates/iwdModuleV2/updateRequests.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} @@ -93,7 +103,7 @@ diff --git a/FusionIIIT/templates/iwdModuleV2/view_file.html b/FusionIIIT/templates/iwdModuleV2/view_file.html new file mode 100644 index 000000000..2787c59b3 --- /dev/null +++ b/FusionIIIT/templates/iwdModuleV2/view_file.html @@ -0,0 +1,165 @@ +{% extends 'globals/base.html' %} +{% load static %} + + +{% block title %} +Academic +{% endblock %} + + +{% block body %} +{% block navBar %} +{% include 'dashboard/navbar.html' %} +{% endblock %} + + + +
+ + {% comment %}The left-margin segment!{% endcomment %} +
+ + {% comment %}The left-rail segment starts here!{% endcomment %} +
+ {% comment %}The user image card starts here!{% endcomment %} + {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} + {% comment %}The user image card ends here!{% endcomment %} + +
+ + {% comment %}The Tab-Menu ends here!{% endcomment %} +
+ +
+ + +
+ +
+ {% csrf_token %} +
+
+
{{file.subject}}
+
+
+
+ {% for t in tracks %} +
+
+
+
+
+ Sent by: + {{ t.current_design }} + + +
+
+ Received by: {{ t.receiver_id }}-{{ t.receive_design }} +
+
+
+
+
+ Remarks : +
+
+ {% if t.remarks %} + {{ t.remarks }} + {% else %} + No Remarks + {% endif %} +
+
+ {% if t.upload_file %} + Attachment: {{ t.upload_file }} + + {% else %} + No attachments + {% endif %} +
+
+
+
+ {% endfor %} + +
+ {% if request.user == current_user and eligible != "Accounts Admin" %} + + +
+ {% csrf_token %} + +
+ +
+ +
+
+ + + +
+ +
+ +
+ + +
+ {% if eligible != "Director" %} + + {% endif %} + {% if eligible == "Director" %} + + + {% endif %} + + {% endif %} +
+
+
+
+
+
+
+
+ +{% endblock %} + +{% block javascript %} + + + + +{% endblock %} diff --git a/FusionIIIT/templates/iwdModuleV2/workOrder.html b/FusionIIIT/templates/iwdModuleV2/workOrder.html index 11f2f9d93..e42b479d3 100644 --- a/FusionIIIT/templates/iwdModuleV2/workOrder.html +++ b/FusionIIIT/templates/iwdModuleV2/workOrder.html @@ -12,6 +12,16 @@ {% include 'dashboard/navbar.html' %} {% endblock %} + +
{% comment %}The left-margin segment!{% endcomment %} From 2b28b61a18d69329a9c16d6ec9af296d043bd50e Mon Sep 17 00:00:00 2001 From: Srivatsa19 Date: Wed, 24 Apr 2024 03:30:27 +0530 Subject: [PATCH 2/2] Removed unwanted files --- .../templates/iwdModuleV2/addItemsView.html | 120 ----------------- .../templates/iwdModuleV2/editInventory.html | 124 ------------------ .../templates/iwdModuleV2/inventory.html | 111 ---------------- 3 files changed, 355 deletions(-) delete mode 100644 FusionIIIT/templates/iwdModuleV2/addItemsView.html delete mode 100644 FusionIIIT/templates/iwdModuleV2/editInventory.html delete mode 100644 FusionIIIT/templates/iwdModuleV2/inventory.html diff --git a/FusionIIIT/templates/iwdModuleV2/addItemsView.html b/FusionIIIT/templates/iwdModuleV2/addItemsView.html deleted file mode 100644 index b9b1f003c..000000000 --- a/FusionIIIT/templates/iwdModuleV2/addItemsView.html +++ /dev/null @@ -1,120 +0,0 @@ -{% extends 'globals/base.html' %} -{% load static %} - - -{% block title %} -Academic -{% endblock %} - - -{% block body %} -{% block navBar %} -{% include 'dashboard/navbar.html' %} -{% endblock %} - -
- - {% comment %}The left-margin segment!{% endcomment %} -
- - {% comment %}The left-rail segment starts here!{% endcomment %} -
- {% comment %}The user image card starts here!{% endcomment %} - {% block usercard %} - {% include 'globals/usercard.html' %} - {% endblock %} - {% comment %}The user image card ends here!{% endcomment %} - -
- - {% comment %}The Tab-Menu ends here!{% endcomment %} -
- {% comment %} - The left-rail segment ends here! - {% endcomment %} - - {% comment %} - The central-rail segment starts here! - {% endcomment %} -
- - - - {% load static %} - {% comment %}the main tab starts here {% endcomment %} - -
- Add Items -
-
- {% csrf_token %} -
- -
- -
-
- -
- -
- -
- -
-
- -
- -
- -
- -
-
- -
- -
- -
- -
- -
- - - - -
- {% comment %}The central-rail segment ends here!{% endcomment %} - - {% comment %}The right-rail segment starts here!{% endcomment %} -
-
- {% comment %} - TODO: the right rail! - {% endcomment %} -
-
- {% comment %}The right-rail segment ends here!{% endcomment %} - - {% comment %}The right-margin segment!{% endcomment %} -
- -
-{% comment %}The grid ends here!{% endcomment %} - -{% endblock %} - -{% block javascript %} - - - - -{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/iwdModuleV2/editInventory.html b/FusionIIIT/templates/iwdModuleV2/editInventory.html deleted file mode 100644 index e06876b90..000000000 --- a/FusionIIIT/templates/iwdModuleV2/editInventory.html +++ /dev/null @@ -1,124 +0,0 @@ -{% extends 'globals/base.html' %} -{% load static %} - - -{% block title %} -Academic -{% endblock %} - - -{% block body %} -{% block navBar %} -{% include 'dashboard/navbar.html' %} -{% endblock %} - -
- - {% comment %}The left-margin segment!{% endcomment %} -
- - {% comment %}The left-rail segment starts here!{% endcomment %} -
- {% comment %}The user image card starts here!{% endcomment %} - {% block usercard %} - {% include 'globals/usercard.html' %} - {% endblock %} - {% comment %}The user image card ends here!{% endcomment %} - -
- - {% comment %}The Tab-Menu ends here!{% endcomment %} -
- {% comment %} - The left-rail segment ends here! - {% endcomment %} - - {% comment %} - The central-rail segment starts here! - {% endcomment %} -
- - - - {% load static %} - {% comment %}the main tab starts here {% endcomment %} - -
- Inventory -
-
-
-
- -
Details:-
Id Name
Id Bill
{{f.0}} {{f.1}} - -
- {% csrf_token %} - - -
+ +
+ {% if f.3 != 1 %} +
+ {% csrf_token %} + + +
+ {% endif %}
- - - - - - - - - - - {% for f in obj %} - - -
- {% csrf_token %} -
- - - - - - - - {% endfor %} -
IdNameQuantityCost (in Rupees)
{{f.0}} - - - - - - - - -
-
-
- - - - - - {% comment %}The central-rail segment ends here!{% endcomment %} - - {% comment %}The right-rail segment starts here!{% endcomment %} -
-
- {% comment %} - TODO: the right rail! - {% endcomment %} -
-
- {% comment %}The right-rail segment ends here!{% endcomment %} - - {% comment %}The right-margin segment!{% endcomment %} -
- - -{% comment %}The grid ends here!{% endcomment %} - -{% endblock %} - -{% block javascript %} - - - - -{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/iwdModuleV2/inventory.html b/FusionIIIT/templates/iwdModuleV2/inventory.html deleted file mode 100644 index 4e35ce614..000000000 --- a/FusionIIIT/templates/iwdModuleV2/inventory.html +++ /dev/null @@ -1,111 +0,0 @@ -{% extends 'globals/base.html' %} -{% load static %} - - -{% block title %} -Academic -{% endblock %} - - -{% block body %} -{% block navBar %} -{% include 'dashboard/navbar.html' %} -{% endblock %} - -
- - {% comment %}The left-margin segment!{% endcomment %} -
- - {% comment %}The left-rail segment starts here!{% endcomment %} -
- {% comment %}The user image card starts here!{% endcomment %} - {% block usercard %} - {% include 'globals/usercard.html' %} - {% endblock %} - {% comment %}The user image card ends here!{% endcomment %} - -
- - {% comment %}The Tab-Menu ends here!{% endcomment %} -
- {% comment %} - The left-rail segment ends here! - {% endcomment %} - - {% comment %} - The central-rail segment starts here! - {% endcomment %} -
- - - - {% load static %} - {% comment %}the main tab starts here {% endcomment %} - -
- Inventory -
-
-
-
- - - - - - - - - - - - {% for f in obj %} - - - - - - - - - {% endfor %} -
IdNameQuantityCost (in Rupees)
{{f.0}}{{f.1}}{{f.2}}{{f.3}}
-
-
-
- - - -
- {% comment %}The central-rail segment ends here!{% endcomment %} - - {% comment %}The right-rail segment starts here!{% endcomment %} -
-
- {% comment %} - TODO: the right rail! - {% endcomment %} -
-
- {% comment %}The right-rail segment ends here!{% endcomment %} - - {% comment %}The right-margin segment!{% endcomment %} -
- -
-{% comment %}The grid ends here!{% endcomment %} - -{% endblock %} - -{% block javascript %} - - - - -{% endblock %} \ No newline at end of file