diff --git a/FusionIIIT/Fusion/settings/development.py b/FusionIIIT/Fusion/settings/development.py index 3f95a478c..63587a11f 100644 --- a/FusionIIIT/Fusion/settings/development.py +++ b/FusionIIIT/Fusion/settings/development.py @@ -63,3 +63,5 @@ #the below job which we need to add in production server, to update the mess bill of student everyday at 10 pm in night ('0 22 * * *', 'applications.central_mess.tasks.generate_bill'), ] + +CRONTAB_DJANGO_MANAGE_PATH = '/home/owlman/Desktop/Fuse/Fusion/FusionIIIT/manage.py' \ No newline at end of file diff --git a/FusionIIIT/applications/central_mess/api/serializers.py b/FusionIIIT/applications/central_mess/api/serializers.py index b30ad2686..582f2725e 100644 --- a/FusionIIIT/applications/central_mess/api/serializers.py +++ b/FusionIIIT/applications/central_mess/api/serializers.py @@ -88,4 +88,14 @@ class Meta: class reg_recordSerialzer(serializers.ModelSerializer): class Meta: model = Reg_records - fields=('__all__') \ No newline at end of file + fields=('__all__') + +class RegistrationRequestSerializer(serializers.ModelSerializer): + class Meta: + model = Registration_Request + fields = ('__all__') + +class DeregistrationRequestSerializer(serializers.ModelSerializer): + class Meta: + model = Deregistration_Request + fields = ('__all__') \ No newline at end of file diff --git a/FusionIIIT/applications/central_mess/api/urls.py b/FusionIIIT/applications/central_mess/api/urls.py index 2bd15c746..7f4c03286 100644 --- a/FusionIIIT/applications/central_mess/api/urls.py +++ b/FusionIIIT/applications/central_mess/api/urls.py @@ -23,5 +23,7 @@ # url("billDashboard", views.Bill_dashboard.as_view(), name="billDashboard"), url("get_student_bill",views.Get_Student_bill.as_view(),name="student_bill_API"), url("get_student_payment",views.Get_Student_Payments.as_view(),name="student_payment_API"), - url("get_student_all_details",views.Get_Student_Details.as_view(),name="get_student_details_API") + url("get_student_all_details",views.Get_Student_Details.as_view(),name="get_student_details_API"), + url('registrationRequestApi', views.RegistrationRequestApi.as_view(), name='registrationRequestApi'), + url('deRegistrationRequestApi', views.DeregistrationRequestApi.as_view(), name='deRegistrationRequestApi'), ] \ No newline at end of file diff --git a/FusionIIIT/applications/central_mess/api/views.py b/FusionIIIT/applications/central_mess/api/views.py index 6d1b7d4ae..a6fbe4a97 100644 --- a/FusionIIIT/applications/central_mess/api/views.py +++ b/FusionIIIT/applications/central_mess/api/views.py @@ -1,4 +1,5 @@ #APIs +from django.db.models import F from rest_framework.views import APIView from rest_framework.response import Response from .serializers import * @@ -19,19 +20,47 @@ def post(self, request): data = request.data mess = data['mess'] - _type = data['type'] - desc = data['desc'] + feedback_type = data['feedback_type'] + description = data['description'] username = get_object_or_404(User,username=request.user.username) idd = ExtraInfo.objects.get(user=username) student = Student.objects.get(id=idd.id) obj = Feedback( student_id = student, mess =mess, - feedback_type=_type, - description=desc + feedback_type=feedback_type, + description=description ) obj.save() return Response({'status':200}) + + def put(self, request): + data = request.data + + print(data) + + student_id = data['student_id'] + mess = data['mess'] + feedback_type = data['feedback_type'] + description = data['description'] + fdate = data['fdate'] + new_remark = data['feedback_remark'] + + # username = get_object_or_404(User,username=request.user.username) + # idd = ExtraInfo.objects.get(user=username) + # student = Student.objects.get(id=idd.id) + + feedback_request = get_object_or_404(Feedback, + student_id = student_id, + mess = mess, + feedback_type = feedback_type, + description = description, + fdate = fdate, + ) + feedback_request.feedback_remark = new_remark + feedback_request.save() + + return Response({'status':200}) class MessinfoApi(APIView): @@ -104,30 +133,37 @@ def get(self, request): def post(self, request): data = request.data + student_id = data['student_id'] month = data['month'] year = data['year'] amount = data['amount'] rebate_count = data['rebate_count'] rebate_amount = data['rebate_amount'] - #nonveg_total_bill = data['nonveg_total_bill'] + total_bill = data['amount']-(data['rebate_count']*data['rebate_amount']) paid = data['paid'] - username = get_object_or_404(User,username=request.user.username) + username = get_object_or_404(User,username=student_id) idd = ExtraInfo.objects.get(user=username) student = Student.objects.get(id=idd.id) - - obj = Monthly_bill( - student_id = student, - month = month, - year = year, - amount = amount, - rebate_count = rebate_count, - rebate_amount = rebate_amount, - # nonveg_total_bill = nonveg_total_bill, - paid = paid - ) - obj.save() + try: + reg_main = Monthly_bill.objects.get(student_id=student, year = year, month = month) + reg_main.amount = amount + reg_main.rebate_count = rebate_count + reg_main.rebate_amount = rebate_amount + reg_main.total_bill = total_bill + except Monthly_bill.DoesNotExist: + reg_main = Monthly_bill.objects.create( + student_id=student, + month = month, + year = year, + amount = amount, + rebate_amount = rebate_amount, + rebate_count = rebate_count, + total_bill = total_bill, + paid = paid + ) + reg_main.save() return Response({'status':200}) class PaymentsApi(APIView): @@ -210,7 +246,33 @@ def post(self, request): start_date = start_date ) obj.save() - return Response({'status':200}) + return Response({'status':200}) + + def put(self, request): + data = request.data + + student_id = data['student_id'] + start_date = data['start_date'] + end_date = data['end_date'] + purpose = data['purpose'] + new_status = data['status'] + app_date = data['app_date'] + leave_type = data['leave_type'] + rebate_remark = data['rebate_remark'] + + # username = get_object_or_404(User,username=student_id) + # idd = ExtraInfo.objects.get(user=username) + # student = Student.objects.get(id=idd.id) + + rebate_request = get_object_or_404(Rebate, student_id=student_id, end_date=end_date, start_date=start_date, app_date=app_date, purpose=purpose, leave_type=leave_type) + + # Update the status + rebate_request.status = new_status + rebate_request.rebate_remark = rebate_remark + rebate_request.save() + + return Response({'status': 200}) + class Vacation_foodApi(APIView): def get(self, request): vacation_food_obj = Vacation_food.objects.all(); @@ -241,7 +303,45 @@ def post(self, request): start_date = start_date ) obj.save() - return Response({'status':200}) + return Response({'status':200}) + + def put(self, request): + print(request.data) + data = request.data + + student_id = data['student_id'] + start_date = data['start_date'] + end_date = data['end_date'] + purpose = data['purpose'] + new_status = data['status'] + app_date = data['app_date'] + + + # username = get_object_or_404(User,username=request.user.username) + # idd = ExtraInfo.objects.get(user=username) + # student = Student.objects.get(id=idd.id) + + try: + vacation_food_request = get_object_or_404(Vacation_food, + student_id = student_id, + app_date = app_date, + purpose = purpose, + end_date= end_date, + start_date = start_date + ) + vacation_food_request.status = new_status + vacation_food_request.save() + return Response({'status':200}) + except: + vacation_food_request = Vacation_food.objects.filter(student_id = student_id, + app_date = app_date, + purpose = purpose, + end_date= end_date, + start_date = start_date + ).latest('app_date') + vacation_food_request.status = new_status + vacation_food_request.save() + return Response({'status':200}) class Nonveg_menuApi(APIView): def get(self, request): @@ -331,7 +431,32 @@ def post(self, request): request = request_ ) obj.save() - return Response({'status':200}) + return Response({'status':200}) + + def put(self, request): + print(request.data) + data = request.data + student_id = data['student_id'] + start_date = data['start_date'] + end_date = data['end_date'] + app_date = data['app_date'] + request_= data['request'] + item1 = data['item1'] + item2 = data['item2'] + new_status = data['status'] + + # Fetch the Special_request object you want to update + # username = get_object_or_404(User, username=request.user.username) + # idd = ExtraInfo.objects.get(user=username) + # student = Student.objects.get(id=idd.id) + + special_request = get_object_or_404(Special_request, student_id=student_id, app_date=app_date, item1=item1, item2=item2, end_date=end_date, start_date=start_date, request=request_) + + # Update the status + special_request.status = new_status + special_request.save() + + return Response({'status': 200}) class Mess_meetingApi(APIView): def get(self, request): @@ -484,4 +609,114 @@ def post(self,request): reg_main = Reg_main.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').get(student_id=student) serialized_obj = GetFilteredSerialzer(reg_main) data={'payment':payment_serialized_obj.data,'bill':bill_serialized_obj.data,'reg_records':reg_record_serialized_obj.data,'student_details':serialized_obj.data} - return Response({'payload':data}) \ No newline at end of file + return Response({'payload':data}) + +class RegistrationRequestApi(APIView): + def get(self, request): + registration_requests = Registration_Request.objects.all() + serializer = RegistrationRequestSerializer(registration_requests, many=True) + return Response({'status': 200, 'payload': serializer.data}) + + def post(self, request): + serializer = RegistrationRequestSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response({'status': 200}) + return Response(serializer.errors, status=400) + + def put(self, request): + try: + data = request.data + print(data) + student_id = data['student_id'] + start_date = data['start_date'] + payment_date = data['payment_date'] + amount = data['amount'] + Txn_no = data['Txn_no'] + img = data['img'] + new_status = data['status'] + new_remark = data['registration_remark'] + mess_option = data['mess_option'] + + username = get_object_or_404(User, username=student_id) + idd = ExtraInfo.objects.get(user=username) + student = Student.objects.get(id=idd.id) + + registration_request = get_object_or_404(Registration_Request, student_id = student_id, start_date = start_date, payment_date = payment_date, amount = amount, Txn_no = Txn_no) + + registration_request.status = new_status + registration_request.registration_remark = new_remark + registration_request.save() + + if (new_status == 'accept'): + new_payment_record = Payments(student_id = student, amount_paid = amount, payment_date=payment_date, payment_month=current_month(), payment_year=current_year()) + new_payment_record.save() + + try: + reg_main = Reg_main.objects.get(student_id=student) + reg_main.current_mess_status = "Registered" + reg_main.balance = F('balance') + amount + except Reg_main.DoesNotExist: + reg_main = Reg_main.objects.create( + student_id=student, + program=student.programme, + current_mess_status="Registered", + balance=amount, + mess_option=mess_option + ) + reg_main.save() + + new_reg_record = Reg_records(student_id=student, start_date=start_date, end_date=None) + new_reg_record.save() + + + return Response({'status': 200}) + except Exception as e: + print({'error': str(e)}) + return Response({'error': str(e)}, status=400) + +class DeregistrationRequestApi(APIView): + def get(self, request): + deregistration_requests = Deregistration_Request.objects.all() + serializer = DeregistrationRequestSerializer(deregistration_requests, many=True) + return Response({'status': 200, 'payload': serializer.data}) + + def post(self, request): + serializer = DeregistrationRequestSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response({'status': 200}) + return Response(serializer.errors, status=400) + + def put(self, request): + try: + data = request.data + print(data) + student_id = data['student_id'] + end_date = data['end_date'] + new_status = data['status'] + new_remark = data['deregistration_remark'] + + username = get_object_or_404(User, username=student_id) + idd = ExtraInfo.objects.get(user=username) + student = Student.objects.get(id=idd.id) + + deregistration_request = get_object_or_404(Deregistration_Request, student_id = student_id, end_date = end_date) + + deregistration_request.status = new_status + deregistration_request.deregistration_remark = new_remark + deregistration_request.save() + + if (new_status == 'accept'): + + reg_main = Reg_main.objects.get(student_id=student) + reg_main.current_mess_status = "Deregistered" + reg_main.save() + + reg_record = Reg_records.objects.filter(student_id=student).latest('start_date') + reg_record.end_date = end_date + reg_record.save() + return Response({'status': 200}) + except Exception as e: + print({'error': str(e)}) + return Response({'error': str(e)}, status=400) \ No newline at end of file diff --git a/FusionIIIT/applications/central_mess/forms.py b/FusionIIIT/applications/central_mess/forms.py index ceecf4400..9325df23f 100644 --- a/FusionIIIT/applications/central_mess/forms.py +++ b/FusionIIIT/applications/central_mess/forms.py @@ -2,7 +2,7 @@ from .models import Mess_minutes from .models import Registration_Request -from .models import Semdates +from .models import Update_Payment class MinuteForm(forms.ModelForm): @@ -32,9 +32,22 @@ class Meta: 'img':forms.FileInput(attrs={'class':'ui big input'}), 'start_date':forms.widgets.DateInput(attrs={'type':'date'}), 'payment_date':forms.widgets.DateInput(attrs={'type':'date'}), - } - - + } + + +class UpdatePaymentRequest(forms.ModelForm): + + class Meta: + model = Update_Payment + fields = ('Txn_no','amount','img','payment_date') + + widgets={ + 'Txn_no':forms.TextInput(attrs={'class':'ui big input','style':'border-radius:4px', 'initial':'590'}), + 'amount':forms.TextInput(attrs={'class':'ui big input'}), + 'img':forms.FileInput(attrs={'class':'ui big input'}), + 'payment_date':forms.widgets.DateInput(attrs={'type':'date'}), + } + class UpdateBalanceRequest(forms.ModelForm): class Meta: diff --git a/FusionIIIT/applications/central_mess/handlers.py b/FusionIIIT/applications/central_mess/handlers.py index 47e840810..882cbe4e4 100644 --- a/FusionIIIT/applications/central_mess/handlers.py +++ b/FusionIIIT/applications/central_mess/handlers.py @@ -15,7 +15,7 @@ from applications.academic_information.models import Student from applications.globals.models import ExtraInfo, HoldsDesignation, Designation from .models import (Feedback, Menu, Menu_change_request, Mess_meeting, - Mess_minutes, Mess_reg, Messinfo, Monthly_bill, + Mess_minutes, Mess_reg, Messinfo, Monthly_bill, Update_Payment, Payments, Rebate,Special_request, Vacation_food, MessBillBase,Registration_Request, Reg_main, Reg_records ,Deregistration_Request, Semdates) from notification.views import central_mess_notif @@ -766,6 +766,40 @@ def handle_reg_response(request): return data +def handle_update_payment_response(request): + id = request.POST['id_reg'] + status = request.POST['status'] + remark = request.POST['remark'] + payment_req = Update_Payment.objects.get(pk=id) + payment_date = payment_req.payment_date + student = payment_req.student_id + payment_req.status = status + payment_req.update_remark=remark + + payment_req.save() + + if(status == 'accept'): + amount = payment_req.amount + reg_main_obj= Reg_main.objects.get(student_id=student) + new_balance = reg_main_obj.balance + amount + reg_main_obj.balance = new_balance + reg_main_obj.save() + new_payment_record = Payments(student_id=student, amount_paid = amount, payment_date=payment_date, payment_month=current_month(), payment_year= current_year()) + new_payment_record.save() + + message = 'Your update payment request has been accepted.' + + else: + message = 'Your update payment request has been rejected.' + + receiver = payment_req.student_id.id.user + central_mess_notif(request.user, receiver, 'leave_request', message) + data = { + 'message': 'success' + } + return data + + def handle_dreg_response(request): """ This function is to respond to de registeration requests @@ -816,14 +850,13 @@ def update_month_bill(request): """ student = str(request.POST.get("rollNo")).upper() studentHere = Student.objects.get(id = student) - rebate_count = int(request.POST.get("RebateCount")) - print(rebate_count) - rebate_amount = int(request.POST.get("RebateAmount")) - print(rebate_amount) new_amount = int(request.POST.get("new_amount")) month = request.POST.get("Month") year = int(request.POST.get("Year")) - bill_base_amount = int(MessBillBase.objects.latest('timestamp').bill_amount) + try: + bill_base_amount = int(MessBillBase.objects.latest('timestamp').bill_amount) + except: + bill_base_amount = 150 fixed_amount_per_month = int(bill_base_amount)*int(30) reg_main_obj = Reg_main.objects.get(student_id=student) @@ -838,7 +871,7 @@ def update_month_bill(request): reg_main_obj.save() existing_monthly_bill_object.save() except: - new_monthly_bill_obj = Monthly_bill(student_id = studentHere, rebate_amount=rebate_amount, rebate_count=rebate_count, month=month, year= year, total_bill = new_amount, amount=fixed_amount_per_month) + new_monthly_bill_obj = Monthly_bill(student_id = studentHere, month=month, year= year, total_bill = new_amount, amount=fixed_amount_per_month) curr_balance = curr_balance - new_amount reg_main_obj.balance = curr_balance reg_main_obj.save() diff --git a/FusionIIIT/applications/central_mess/models.py b/FusionIIIT/applications/central_mess/models.py index cd5427736..f92614ba1 100644 --- a/FusionIIIT/applications/central_mess/models.py +++ b/FusionIIIT/applications/central_mess/models.py @@ -321,3 +321,16 @@ class Semdates(models.Model): end_date = models.DateField(blank=False,default=datetime.date.today) class Meta: unique_together = (('start_date', 'end_date'),) + + +class Update_Payment(models.Model): + student_id = models.ForeignKey(Student, on_delete=models.CASCADE) + Txn_no =models.CharField(max_length=20) + img = models.ImageField(upload_to='images/',default=None) + amount=models.IntegerField(default=0) + status=models.CharField(max_length=10,default='pending') + update_remark=models.CharField(max_length=50,default='NA') + payment_date= models.DateField(default=None, null=True) + def __str__(self): + return str(self.student_id.id) + \ No newline at end of file diff --git a/FusionIIIT/applications/central_mess/urls.py b/FusionIIIT/applications/central_mess/urls.py index 031626819..78b65f22c 100644 --- a/FusionIIIT/applications/central_mess/urls.py +++ b/FusionIIIT/applications/central_mess/urls.py @@ -46,7 +46,8 @@ url(r'^registeredstudent', views.searchAddOrRemoveStudent, name='registeredstudent'), url(r'^registrationRequest', views.reg_request, name='reg_request'), - # url(r'^uploadpayment', views.uploadPaymentDue, name='uploadpayment') + url(r'^updatePaymentReq', views.update_payment, name='update_payment'), + url(r'^respond_to_updatePayment', views.respond_to_update_payment, name='response_to_update_payment'), url(r'^respond_to_reg_req',views.respond_to_reg, name='reg_response'), url(r'^deregistrationRequest', views.de_reg_request, name='deregistrationRequest'), url(r'^updatesemdates', views.update_semdates, name='updatesemdates'), diff --git a/FusionIIIT/applications/central_mess/views.py b/FusionIIIT/applications/central_mess/views.py index 4bc7238bd..255f34e40 100644 --- a/FusionIIIT/applications/central_mess/views.py +++ b/FusionIIIT/applications/central_mess/views.py @@ -14,16 +14,16 @@ from .utils import render_to_pdf from applications.academic_information.models import Student from applications.globals.models import ExtraInfo, HoldsDesignation, Designation -from .forms import MinuteForm, MessInfoForm,RegistrationRequest +from .forms import MinuteForm, MessInfoForm,RegistrationRequest,UpdatePaymentRequest from .tasks import * from .models import (Feedback, Menu, Menu_change_request, Mess_meeting, Mess_minutes, Mess_reg, Messinfo, Monthly_bill, Payments, Rebate, - Special_request, Vacation_food, MessBillBase,Registration_Request, Reg_records ,Reg_main,Deregistration_Request,Semdates) + Special_request, Vacation_food, MessBillBase,Registration_Request, Reg_records ,Reg_main,Deregistration_Request,Semdates,Update_Payment) from .handlers import (add_mess_feedback, add_sem_dates, add_vacation_food_request, add_menu_change_request, handle_menu_change_response, handle_vacation_food_request, add_mess_registration_time, add_leave_request, add_mess_meeting_invitation, - handle_rebate_response, add_special_food_request, + handle_rebate_response, add_special_food_request, handle_update_payment_response, handle_special_request, add_bill_base_amount, add_mess_committee, handle_reg_response, handle_dreg_response, update_month_bill,handle_add_reg) from notification.views import central_mess_notif @@ -59,7 +59,7 @@ def mess(request): holds_designations = HoldsDesignation.objects.select_related().filter(user=user) desig = holds_designations form = MinuteForm() - mess_reg = Mess_reg.objects.select_related().last() + # mess_reg = Mess_reg.objects.select_related().last() count1 = 0 count2 = 0 count3 = 0 @@ -82,12 +82,15 @@ def mess(request): splrequest = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(student_id=student).order_by('-app_date') reg_form = RegistrationRequest() + update_form=UpdatePaymentRequest() reg_request = Registration_Request.objects.filter(student_id=student) - + update_payment_request = Update_Payment.objects.filter(student_id=student) de_reg_request = Deregistration_Request.objects.filter(student_id=student) + menu_data = Menu.objects.all() + try: mess_optn = Reg_main.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').get(student_id=student) y = Menu.objects.filter(mess_option=mess_optn.mess_option) @@ -127,21 +130,22 @@ def mess(request): # monthly_bill[i].due_amount=(-tot_am) # tot_am+=monthly_bill[i].total_bill # amount_due=-payments[0].amount_paid - amount_due = 0 + # amount_due = 0 ## adding the batch of student if btech or bdes then value of programme is 1 or else 0, holds value of phd and mtech. - if student.programme == 'B.Tech' or student.programme == 'B.Des': - programme = 1 - else: - programme = 0 - meeting = Mess_meeting.objects.all() - minutes = Mess_minutes.objects.all() - count = 0 + # if student.programme == 'B.Tech' or student.programme == 'B.Des': + # programme = 1 + # else: + # programme = 0 + # meeting = Mess_meeting.objects.all() + # minutes = Mess_minutes.objects.all() + # count = 0 # try: # mess_optn = Messinfo.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').get(student_id=student) # y = Menu.objects.filter(mess_option=mess_optn.mess_option) + # bill = Monthly_bill.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(Q(student_id=student) & Q(month=month_g_l) & Q(year=year_g)) # amount_c = MessBillBase.objects.latest('timestamp') @@ -182,169 +186,175 @@ def mess(request): # mess_optn={'mess_option':'no-mess'} # y = Menu.objects.filter(mess_option="mess1") - for d in desig: - if d.designation.name == 'mess_committee' or d.designation.name == 'mess_convener': - newmenu = Menu_change_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department','dish').filter(dish__mess_option='mess1').order_by('-app_date') - meeting = Mess_meeting.objects.all() - minutes = Mess_minutes.objects.select_related().all() - feed = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess1').order_by('-fdate') - feed2 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess2').order_by('-fdate') - sprequest = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='1').order_by('-app_date') - sprequest_past = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') - menuchangerequest= Menu_change_request.objects.select_related('student_id').filter().order_by('-app_date') - # menu_data = Menu.objects.all() - for f in feed: - if f.feedback_type == 'Maintenance' : - count1 += 1 - - elif f.feedback_type == 'Food' : - count2 += 1 - - elif f.feedback_type == 'Cleanliness' : - count3 += 1 - - elif f.feedback_type == 'Others' : - count4 += 1 - count5=0 - count6=0 - count7=0 - count8=0 - - context = { - 'menu': menu_data, - 'reg_menu': y, - 'messinfo': mess_optn, - 'newmenu': newmenu, - 'monthly_bill': monthly_bill, - 'total_due': amount_due, + # for d in desig: + # if d.designation.name == 'mess_committee' or d.designation.name == 'mess_convener': + # newmenu = Menu_change_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department','dish').filter(dish__mess_option='mess1').order_by('-app_date') + # meeting = Mess_meeting.objects.all() + # minutes = Mess_minutes.objects.select_related().all() + # feed = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess1').order_by('-fdate') + # feed2 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess2').order_by('-fdate') + # sprequest = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='1').order_by('-app_date') + # sprequest_past = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') + # menuchangerequest= Menu_change_request.objects.select_related('student_id').filter().order_by('-app_date') + + # # menu_data = Menu.objects.all() + + # for f in feed: + # if f.feedback_type == 'Maintenance' : + # count1 += 1 + + # elif f.feedback_type == 'Food' : + # count2 += 1 + + # elif f.feedback_type == 'Cleanliness' : + # count3 += 1 + + # elif f.feedback_type == 'Others' : + # count4 += 1 + # count5=0 + # count6=0 + # count7=0 + # count8=0 + + # context = { + # 'menu': menu_data, + # 'reg_menu': y, + # 'messinfo': mess_optn, + # 'newmenu': newmenu, + # 'monthly_bill': monthly_bill, + # 'total_due': amount_due, - 'vaca': vaca_obj, - 'info': extrainfo, - 'feedback': feedback_obj, - 'feed1': feed, - 'feed2':'', - 'student': student, - 'mess_reg': mess_reg, - 'current_date': current_date, - 'count': count, - 'rebates': rebates, - 'meeting': meeting, - 'minutes': minutes, - 'sprequest': sprequest, - 'splrequest': splrequest, - 'sprequest_past': sprequest_past, - 'menuchangerequest':menuchangerequest, - 'programme':programme, - 'count1': count1, - 'count2': count2, - 'count3': count3, - 'count4': count4, - 'count5': count5, - 'count6': count6, - 'count7': count7, - 'count8': count8, - 'form': form, - 'desig': desig, - 'reg_form':reg_form, - 'reg_request':reg_request, - 'reg_main':mess_optn, - 'reg_record':reg_record, - 'de_reg_request':de_reg_request, - - } - return render(request, "messModule/mess.html", context) - - if d.designation.name == 'mess_committee_mess2' or d.designation.name == 'mess_convener_mess2': - newmenu = Menu_change_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department','dish').filter(dish__mess_option='mess2').order_by('-app_date') - meeting = Mess_meeting.objects.all() - minutes = Mess_minutes.objects.select_related().all() - feed = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess2').order_by('-fdate') - feed2 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess1').order_by('-fdate') - sprequest = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='1').order_by('-app_date') - sprequest_past = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') - menuchangerequest= Menu_change_request.objects.select_related('student_id').filter().order_by('-app_date') - # menu_data = Menu.objects.all().order_by() - count5=0 - count6=0 - count7=0 - count8=0 - for f in feed: - if f.feedback_type == 'Maintenance' : - count1 += 1 - - elif f.feedback_type == 'Food' : - count2 += 1 - - elif f.feedback_type == 'Cleanliness' : - count3 += 1 - - elif f.feedback_type == 'Others' : - count4 += 1 - - context = { - 'menu': menu_data, - 'reg_menu': y, - 'messinfo': mess_optn, - 'newmenu': newmenu, - 'monthly_bill': monthly_bill, - 'total_due': amount_due, - 'vaca': vaca_obj, - 'info': extrainfo, - 'feedback': feedback_obj, - 'feed2': feed, - 'feed1':'', - 'student': student, - # 'data': data, - 'mess_reg': mess_reg, - 'current_date': current_date, - 'count': count, - 'rebates': rebates, - 'programme': programme, - 'meeting': meeting, - 'minutes': minutes, - 'splrequest': splrequest, - 'sprequest': sprequest, - 'sprequest_past': sprequest_past, - 'menuchangerequest':menuchangerequest, - 'count1': count1, - 'count2': count2, - 'count3': count3, - 'count4': count4, - 'count5': count5, - 'count6': count6, - 'count7': count7, - 'count8': count8, - 'form': form, - 'desig': desig, - 'reg_form':reg_form, - 'reg_request':reg_request, - 'reg_main':mess_optn, - 'reg_record':reg_record, - 'de_reg_request':de_reg_request, - } - return render(request, "messModule/mess.html", context) + # 'vaca': vaca_obj, + # 'info': extrainfo, + # 'feedback': feedback_obj, + # 'feed1': feed, + # 'feed2':'', + # 'student': student, + # 'mess_reg': mess_reg, + # 'current_date': current_date, + # 'count': count, + # 'rebates': rebates, + # 'meeting': meeting, + # 'minutes': minutes, + # 'sprequest': sprequest, + # 'splrequest': splrequest, + # 'sprequest_past': sprequest_past, + # 'menuchangerequest':menuchangerequest, + # 'programme':programme, + # 'count1': count1, + # 'count2': count2, + # 'count3': count3, + # 'count4': count4, + # 'count5': count5, + # 'count6': count6, + # 'count7': count7, + # 'count8': count8, + # 'form': form, + # 'desig': desig, + # 'reg_form':reg_form, + # 'reg_request':reg_request, + # 'reg_main':mess_optn, + # 'reg_record':reg_record, + # 'de_reg_request':de_reg_request, + + # } + # return render(request, "messModule/mess.html", context) + + # if d.designation.name == 'mess_committee_mess2' or d.designation.name == 'mess_convener_mess2': + # newmenu = Menu_change_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department','dish').filter(dish__mess_option='mess2').order_by('-app_date') + # meeting = Mess_meeting.objects.all() + # minutes = Mess_minutes.objects.select_related().all() + # feed = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess2').order_by('-fdate') + # feed2 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess1').order_by('-fdate') + # sprequest = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='1').order_by('-app_date') + # sprequest_past = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') + # menuchangerequest= Menu_change_request.objects.select_related('student_id').filter().order_by('-app_date') + + # # menu_data = Menu.objects.all().order_by() + + # count5=0 + # count6=0 + # count7=0 + # count8=0 + # for f in feed: + # if f.feedback_type == 'Maintenance' : + # count1 += 1 + + # elif f.feedback_type == 'Food' : + # count2 += 1 + + # elif f.feedback_type == 'Cleanliness' : + # count3 += 1 + + # elif f.feedback_type == 'Others' : + # count4 += 1 + + # context = { + # 'menu': menu_data, + # 'reg_menu': y, + # 'messinfo': mess_optn, + # 'newmenu': newmenu, + # 'monthly_bill': monthly_bill, + # 'total_due': amount_due, + # 'vaca': vaca_obj, + # 'info': extrainfo, + # 'feedback': feedback_obj, + # 'feed2': feed, + # 'feed1':'', + # 'student': student, + # # 'data': data, + # 'mess_reg': mess_reg, + # 'current_date': current_date, + # 'count': count, + # 'rebates': rebates, + # 'programme': programme, + # 'meeting': meeting, + # 'minutes': minutes, + # 'splrequest': splrequest, + # 'sprequest': sprequest, + # 'sprequest_past': sprequest_past, + # 'menuchangerequest':menuchangerequest, + # 'count1': count1, + # 'count2': count2, + # 'count3': count3, + # 'count4': count4, + # 'count5': count5, + # 'count6': count6, + # 'count7': count7, + # 'count8': count8, + # 'form': form, + # 'desig': desig, + # 'reg_form':reg_form, + # 'reg_request':reg_request, + # 'reg_main':mess_optn, + # 'reg_record':reg_record, + # 'de_reg_request':de_reg_request, + # } + # return render(request, "messModule/mess.html", context) context = { 'menu': menu_data, - 'reg_menu': y, - 'messinfo': mess_optn, + # 'reg_menu': y, + # 'messinfo': mess_optn, 'monthly_bill': monthly_bill, - 'total_due': amount_due, + # 'total_due': amount_due, 'vaca': vaca_obj, 'info': extrainfo, 'feedback': feedback_obj, 'student': student, - 'mess_reg': mess_reg, + # 'mess_reg': mess_reg, 'current_date': current_date, - 'count': count, + # 'count': count, 'rebates': rebates, 'splrequest': splrequest, 'form': form, - 'programme': programme, + # 'programme': programme, 'desig': desig, - 'minutes': minutes, - 'meeting': meeting, + # 'minutes': minutes, + # 'meeting': meeting, 'reg_form':reg_form, + 'update_form':update_form, + 'update_payment_request':update_payment_request, 'reg_main_stud':mess_optn, 'reg_request':reg_request, 'reg_record':reg_record, @@ -363,7 +373,12 @@ def mess(request): elif extrainfo.user_type == 'staff': for d in desig: if(d.designation.name == 'mess_manager'): - current_bill = MessBillBase.objects.latest('timestamp') + try: + current_bill = MessBillBase.objects.latest('timestamp') + except: + new_entry = MessBillBase(bill_amount=150) + new_entry.save() + current_bill = MessBillBase.objects.latest('timestamp') newmenu = Menu_change_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department','dish').all().order_by('-app_date') vaca_all = Vacation_food.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').all().order_by('-app_date') members_mess = HoldsDesignation.objects.select_related().filter(Q(designation__name__contains='mess_convener') @@ -371,8 +386,8 @@ def mess(request): y = Menu.objects.all() leave = Rebate.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='1').order_by('-app_date') leave_past = Rebate.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') - meeting = Mess_meeting.objects.all() - minutes = Mess_minutes.objects.all() + # meeting = Mess_meeting.objects.all() + # minutes = Mess_minutes.objects.all() feed1 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess1').order_by('-fdate') feed2 = Feedback.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(mess='mess2').order_by('-fdate') @@ -406,6 +421,7 @@ def mess(request): sprequest_past = Special_request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(status='2').order_by('-app_date') reg_request = Registration_Request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').all().filter(status='pending') + update_pay_request=Update_Payment.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').all().filter(status='pending') de_reg_request = Deregistration_Request.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').all().filter(status='pending') reg_main = Reg_main.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').filter(current_mess_status='Registered') reg_record = Reg_records.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').all() @@ -423,10 +439,10 @@ def mess(request): 'leave': leave, 'leave_past': leave_past, 'current_date': current_date, - 'mess_reg': mess_reg, + # 'mess_reg': mess_reg, 'desig': desig, - 'meeting': meeting, - 'minutes': minutes, + # 'meeting': meeting, + # 'minutes': minutes, 'sprequest': sprequest, 'sprequest_past': sprequest_past, 'count1': count1, @@ -436,7 +452,8 @@ def mess(request): 'reg_request':reg_request,'reg_record':reg_record,'reg_main':reg_main, 'de_reg_request':de_reg_request, 'bill': bills, - 'reg_form':reg_form + 'reg_form':reg_form, + 'update_pay_request':update_pay_request } return render(request, "messModule/mess.html", context) @@ -489,6 +506,7 @@ def mess(request): } return render(request, 'messModule/mess.html', context) + @login_required @transaction.atomic def mess_info(request): @@ -941,25 +959,13 @@ def post(self, request, *args, **kwargs): extra_info = ExtraInfo.objects.select_related().get(user=user) y = Menu.objects.all() - if extra_info.user_type=='student': - student = Student.objects.select_related('id','id__user','id__department').get(id=extra_info) - mess_info = Messinfo.objects.select_related('student_id','student_id__id','student_id__id__user','student_id__id__department').get(student_id=student) - mess_option = mess_info.mess_option - context = { - 'menu': y, - 'mess_option': mess_option - } - if mess_option=='mess2': - return render_to_pdf('messModule/menudownloadable2.html', context) - else: - return render_to_pdf('messModule/menudownloadable1.html', context) - else: - context = { - 'menu': y, - 'mess_option': 'mess2' - } - return render_to_pdf('messModule/menudownloadable2.html', context) - # return HttpResponse(pdf, content_type='application/pdf') + context = { + 'menu': y, + 'mess_option': 'mess2', + 'date':str(today_g.date()) + } + return render_to_pdf('messModule/menudownloadable2.html', context) + # return HttpResponse(pdf, content_type='application/pdf') class MenuPDF1(View): @@ -979,7 +985,8 @@ def post(self, request, *args, **kwargs): y = Menu.objects.all() context = { 'menu': y, - 'mess_option': 'mess1' + 'mess_option': 'mess1', + 'date':str(today_g.date()) } return render_to_pdf('messModule/menudownloadable1.html', context) @@ -1002,6 +1009,7 @@ def post(self, request, *args, **kwargs): return HttpResponseRedirect('/mess') + def menu_change_request(request): """ This function is to request a change in menu @@ -1553,6 +1561,21 @@ def respond_to_reg(request): data = handle_dreg_response(request) return JsonResponse(data) +@csrf_exempt +@login_required +def respond_to_update_payment(request): + data = { + 'status': 1 + } + user = request.user + designation = HoldsDesignation.objects.select_related().filter(user=user) + for d in designation: + if d.designation.name == 'mess_manager': + data = handle_update_payment_response(request) + + return JsonResponse(data) + + def reg_request(request): @@ -1583,6 +1606,18 @@ def reg_request(request): return HttpResponseRedirect("/mess") +def update_payment(request): + user = request.user + extra_info = ExtraInfo.objects.select_related().get(user=user) + student = Student.objects.select_related('id','id__user','id__department').get(id=extra_info) + if request.method == 'POST': + form = UpdatePaymentRequest(request.POST, request.FILES) + + if form.is_valid(): + temp=form.save(commit=False) + temp.student_id=student + temp.save() + return HttpResponseRedirect("/mess") @csrf_exempt def update_bill_excel(request): diff --git a/FusionIIIT/templates/messModule/applications.html b/FusionIIIT/templates/messModule/applications.html index c8feac645..4d7cd414f 100644 --- a/FusionIIIT/templates/messModule/applications.html +++ b/FusionIIIT/templates/messModule/applications.html @@ -360,7 +360,7 @@ --> -
+
+
+
+ + + + + + + + + + + + + + + {% for var in update_pay_request %} + + + + + + + + + + + {% endfor %} + + +
Student IdTransaction NoImageAmountPayment DateRemarkAccept/Reject
+ {{var.student_id}} + + {{var.Txn_no}} + + + Receipt + + + + {{var.amount}} + + {{var.payment_date}} + + + +
+ +
+ +
+
+
+
@@ -272,6 +329,56 @@ }); } + function acceptPaymentReq(id){ + document.getElementById('update1-'+id).style.display="none"; + + $.ajax({ + type: 'POST', + url: 'respond_to_updatePayment', + dataType: 'json', + data: { + 'csrfmiddlewaretoken' : '{{ csrf_token }}', + 'id_reg':id, + 'status':'accept', + 'remark':$(`tr${'#update1-'+id} td.one.wide textarea`).val(), + }, + success: function(data) { + + alert(data.message); + + + }, + error: function(data, err) { + alert(err.message); + } + }); + + } + function rejectPaymentReq(id){ + document.getElementById('update1-'+id).style.display="none"; + $.ajax({ + type: 'POST', + url: 'respond_to_updatePayment', + dataType: 'json', + data: { + 'csrfmiddlewaretoken' : '{{ csrf_token }}', + 'id_reg':id, + 'status':'reject', + 'remark':$(`tr${'#update1-'+id} td.one.wide textarea`).val(), + }, + success: function(data) { + + alert(data.message); + + + }, + error: function(data, err) { + alert(err.message); + } + }); + + } + {% endblock %} {% endblock %} diff --git a/FusionIIIT/templates/messModule/menu_card.html b/FusionIIIT/templates/messModule/menu_card.html index c9a8443c3..e413dc807 100644 --- a/FusionIIIT/templates/messModule/menu_card.html +++ b/FusionIIIT/templates/messModule/menu_card.html @@ -67,6 +67,10 @@ {% else %} + + Update Payment + + Deregistration @@ -121,7 +125,7 @@ - Registrations/Deregistrations Requests + Reg/Dereg/UpdatePayment Requests {% comment %} diff --git a/FusionIIIT/templates/messModule/menudownloadable1.html b/FusionIIIT/templates/messModule/menudownloadable1.html index 0f9c06ce0..843d5848c 100644 --- a/FusionIIIT/templates/messModule/menudownloadable1.html +++ b/FusionIIIT/templates/messModule/menudownloadable1.html @@ -1,12 +1,13 @@ - - - Mess Menu - - + + + Mess Menu + +
- +

PDPM Indian Institute of Information Technology Design and Manufacturing, Jabalpur

+
@@ -179,9 +180,15 @@

Mess 1 menu

- -
+
- - - \ No newline at end of file +
+
+ Date: + {% block menu1 %} + {{date}} + {% endblock %} +
+ + + \ No newline at end of file diff --git a/FusionIIIT/templates/messModule/menudownloadable2.html b/FusionIIIT/templates/messModule/menudownloadable2.html index 95d31acea..2ec934069 100644 --- a/FusionIIIT/templates/messModule/menudownloadable2.html +++ b/FusionIIIT/templates/messModule/menudownloadable2.html @@ -6,7 +6,8 @@
- +

PDPM Indian Institute of Information Technology Design and Manufacturing, Jabalpur

+
@@ -180,8 +181,13 @@

Mess 2 menu

-
- + +
+ Date: + {% block menu1 %} + {{date}} + {% endblock %} +
\ No newline at end of file diff --git a/FusionIIIT/templates/messModule/mess.html b/FusionIIIT/templates/messModule/mess.html index 863c8a083..4cff34407 100644 --- a/FusionIIIT/templates/messModule/mess.html +++ b/FusionIIIT/templates/messModule/mess.html @@ -83,6 +83,12 @@ {% endblock %} {% comment %}The ... end here!{% endcomment %} +
+ {% block updatePayment %} + {% include 'messModule/updatePayment.html' %} + {% endblock %} +
+ {% comment %}The ... end here!{% endcomment %} {% comment %}The ... start here!{% endcomment %}
@@ -219,62 +225,9 @@ {% comment %}The right-rail segment starts here!{% endcomment %}
- - - {% for d in desig %} - {% if d.designation.name == 'student' %} -
- -
-
- - {% comment %} - TODO: Loader required? -
- Loading ... -
- {% endcomment %} - -
- {% block alerts_2 %} - {% include 'messModule/alerts.html' %} - {% endblock %} -
-
- -
- -
-
- -
- - -

Announcements will be displayed here...

- - -
-
-
-
- {% endif %} - {% endfor %} - - - - - - - - - - {% comment %} - TODO: the right rail! - {% endcomment %} + {% block sidepanel%} + {% include 'notifications/messModule_sidepanel.html'%} + {% endblock %}
{% comment %}The right-rail segment ends here!{% endcomment %} @@ -310,7 +263,7 @@

Announcements will be displayed here...

data: { labels: ["Food", "Hygiene", "Maintenance", "Others"], datasets: [{ - label: 'Feedback', + label: 'Feedback', data: [c2,c3,c1,c4], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', diff --git a/FusionIIIT/templates/messModule/messactivities.html b/FusionIIIT/templates/messModule/messactivities.html index 8a49555d3..00b9ad4c8 100644 --- a/FusionIIIT/templates/messModule/messactivities.html +++ b/FusionIIIT/templates/messModule/messactivities.html @@ -24,8 +24,9 @@
+
- + {% block reg_list_bills %} {% include 'messModule/view_payments_bills.html' %} {% endblock %} @@ -53,14 +54,37 @@
- + {% comment %} {% endcomment %} +
- + {% comment %} {% endcomment %} +
+
-
+ {% comment %}
@@ -69,7 +93,7 @@
-
+
{% endcomment %}
+
diff --git a/FusionIIIT/templates/messModule/reg_list.html b/FusionIIIT/templates/messModule/reg_list.html index 1f324f396..576145a51 100644 --- a/FusionIIIT/templates/messModule/reg_list.html +++ b/FusionIIIT/templates/messModule/reg_list.html @@ -51,7 +51,7 @@ Name Roll No Program - Balance + Your Balance Mess View Reg Records @@ -113,7 +113,7 @@ Name Roll No Program - Balance + Your Balance Mess View Reg Records @@ -176,7 +176,7 @@

Student Details

Name Roll No Program - Balance + Your Balance Mess ` @@ -259,10 +259,10 @@

Monthly Bill

Month Year - Amount + Monthly Base Amount Rebate Count Rebate Amount - Total Amount + Your Monthly Amount `; @@ -317,7 +317,7 @@

Monthly Bill

Name Roll No Program - Balance + Your Balance Mess View Reg Records diff --git a/FusionIIIT/templates/messModule/registered_student.html b/FusionIIIT/templates/messModule/registered_student.html index 5b0badb7d..488f57797 100644 --- a/FusionIIIT/templates/messModule/registered_student.html +++ b/FusionIIIT/templates/messModule/registered_student.html @@ -206,6 +206,7 @@ +
{% block reg_list %} {% include 'messModule/reg_list.html' %} @@ -213,6 +214,7 @@

+
{% block add_remove %} {% include 'messModule/add_remove.html' %} diff --git a/FusionIIIT/templates/messModule/updatePayment.html b/FusionIIIT/templates/messModule/updatePayment.html new file mode 100644 index 000000000..dedef64ee --- /dev/null +++ b/FusionIIIT/templates/messModule/updatePayment.html @@ -0,0 +1,76 @@ +{#{% extends 'globals/base.html'%}#} +{% load static %} +{#{% block body %}#} +{% block updatePayment%} + {% comment %}The tab menu starts here!{% endcomment %} + + +
+
+ {% comment %}Form Tag starts here!{% endcomment %} +
+ + {% csrf_token %} + {{ update_form.as_p }} + +
+ {% comment %}Form Tag ends here!{% endcomment %} +
+ +
+ +
+
+ + + + + + + + + + + + + {% for var in update_payment_request %} + + + + + + + + + {% endfor %} + +
Txn_noimageAmountRemarkstatus
+ {{var.Txn_no}} + + + receipt + + + {{var.amount}} + + {{var.update_remark}} + + {{var.status}} +
+ + + +
+ +
+{% endblock %} + + + diff --git a/FusionIIIT/templates/messModule/view_payments_bills.html b/FusionIIIT/templates/messModule/view_payments_bills.html index 1373fb557..17d3dd3c2 100644 --- a/FusionIIIT/templates/messModule/view_payments_bills.html +++ b/FusionIIIT/templates/messModule/view_payments_bills.html @@ -50,7 +50,7 @@ Name Roll No Program - Balance + Your Balance Mess View Bill View payments @@ -112,7 +112,7 @@ Name Roll No Program - Balance + Your Balance Mess View Bills View Payments @@ -175,10 +175,10 @@ Month Year - Amount + Monthly Base Amount Rebate Count Rebate Amount - Total Amount + Your Monthly Amount `; @@ -231,7 +231,7 @@ Name Roll No Program - Balance + Your Balance Mess View bills View payments diff --git a/FusionIIIT/templates/messModule/viewmenu.html b/FusionIIIT/templates/messModule/viewmenu.html index 9d0caa4a7..8f6cf787e 100644 --- a/FusionIIIT/templates/messModule/viewmenu.html +++ b/FusionIIIT/templates/messModule/viewmenu.html @@ -3,15 +3,15 @@ {% comment %}The tab menu starts here!{% endcomment %} -
+
@@ -249,7 +249,8 @@ -
+ +
diff --git a/FusionIIIT/templates/messModule/views.html b/FusionIIIT/templates/messModule/views.html index 9b2853f82..4698b6e34 100644 --- a/FusionIIIT/templates/messModule/views.html +++ b/FusionIIIT/templates/messModule/views.html @@ -29,10 +29,10 @@ - + - + {% for stu in monthly_bill %} diff --git a/FusionIIIT/templates/notifications/messModule_sidepanel.html b/FusionIIIT/templates/notifications/messModule_sidepanel.html new file mode 100644 index 000000000..7051eeb2f --- /dev/null +++ b/FusionIIIT/templates/notifications/messModule_sidepanel.html @@ -0,0 +1,26 @@ +{% load static %} +{% block sidepanel %} + {% load notifications_tags %} + {% for notice in notifications %} + {% if notice.unread %} + {% if notice.data.module == 'Central Mess' %} +
+ +
+ +

{{ notice.verb }}

+
+
+ + + +    
+
+ {% endif%} + {% endif %} + {% endfor %} +{% endblock %} \ No newline at end of file
MonthMonthly AmountMonthly Base Amount Rebate Count Rebate AmountTotal Bill Your Monthly Bill