Пример #1
0
def manage_leave(request):
    if request.method == 'POST':
        leave_type = request.POST.get('leave_type', '')
        action_type = request.POST.get('action_type', '')
        days = request.POST.get('count', '')
        note = request.POST.get('note', '')
        try:
            leave_type = int(leave_type)
            action_type = int(action_type)
            days = int(days)
        except ValueError:
            messages.error(request, "Invalid Inputs")
            return redirect(reverse('employees'))

        if 1 <= leave_type <= 2 and (action_type == -1
                                     or action_type == 1) and days >= 0:
            count = 0
            employees = request.POST.getlist('check[]')
            action = Action(note=note, )
            action.save()

            for pk in employees:
                try:
                    employee = Employee.objects.get(pk=pk)
                except Employee.DoesNotExist:
                    pass
                else:
                    if action_type == -1 and not employee.isLeaveLeft(
                            days, leave_type):
                        pass
                    else:

                        TransactionLog().AdminTransaction(
                            action, employee, leave_type, days, action_type,
                            note)
                        count = count + 1

            if count:
                messages.success(
                    request, "Leave Credit/Debit of " + str(count) +
                    " employees sent for approval")
                action.count = count
                action.save()
            else:
                messages.error(request, "Error. No employee selected")
                action.delete()

        else:
            messages.error(request, "Invalid Action")

        return redirect(reverse('employees'))
    else:
        raise PermissionDenied
Пример #2
0
def manage_leave(request):
	if request.method=='POST':
		leave_type=request.POST.get('leave_type','')
		action_type=request.POST.get('action_type','')
		days=request.POST.get('count','')
		note=request.POST.get('note','')
		try :
			leave_type=int(leave_type)
			action_type=int(action_type)
			days=int(days)
		except ValueError:
			messages.error(request,"Invalid Inputs")
			return redirect(reverse('employees'))


		
		if 1<= leave_type <=2 and (action_type==-1 or action_type==1) and days>=0:
			count=0
			employees=request.POST.getlist('check[]')
			action=Action(note=note,)
			action.save()

			for pk in employees:
				try:
					employee=Employee.objects.get(pk=pk)
				except Employee.DoesNotExist:
					pass
				else:
					if action_type==-1 and not employee.isLeaveLeft(days,leave_type):
						pass
					else:
						
						TransactionLog().AdminTransaction(action,employee,leave_type,days,action_type,note)
						count=count+1


			if count:
				messages.success(request,"Leave Credit/Debit of "+str(count)+" employees sent for approval")
				action.count=count
				action.save()
			else:
				messages.error(request,"Error. No employee selected")
				action.delete()
		

		else:
			messages.error(request,"Invalid Action")

		return redirect(reverse('employees'))
	else:
		raise PermissionDenied