示例#1
0
    def validate(self):
        set_employee_name(self)
        validate_active_employee(self.employee)
        self.get_leave_details_for_encashment()
        self.validate_salary_structure()

        if not self.encashment_date:
            self.encashment_date = getdate(nowdate())
示例#2
0
 def validate(self):
     validate_active_employee(self.employee)
     validate_tax_declaration(self.tax_exemption_proofs)
     self.set_total_actual_amount()
     self.set_total_exemption_amount()
     self.calculate_hra_exemption()
     validate_duplicate_exemption_for_payroll_period(
         self.doctype, self.name, self.payroll_period, self.employee)
示例#3
0
	def validate(self):
		from erpnext.controllers.status_updater import validate_status

		validate_status(self.status, ["Present", "Absent", "On Leave", "Half Day", "Work From Home"])
		validate_active_employee(self.employee)
		self.validate_attendance_date()
		self.validate_duplicate_record()
		self.validate_employee_status()
		self.check_leave_record()
示例#4
0
    def validate(self):
        validate_active_employee(self.employee)
        self.validate_dates()
        self.validate_salary_structure()
        self.validate_recurring_additional_salary_overlap()
        self.validate_employee_referral()

        if self.amount < 0:
            frappe.throw(_("Amount should not be less than zero"))
示例#5
0
 def validate(self):
     validate_active_employee(self.employee)
     validate_dates(self, self.from_date, self.to_date)
     if self.half_day:
         if not getdate(self.from_date) <= getdate(
                 self.half_day_date) <= getdate(self.to_date):
             frappe.throw(
                 _("Half day date should be in between from date and to date"
                   ))
示例#6
0
	def validate(self):
		if self.employee:
			validate_active_employee(self.employee)
		self.set_employee_name()
		self.set_status()
		self.validate_dates()
		self.validate_time_logs()
		self.update_cost()
		self.calculate_total_amounts()
		self.calculate_percentage_billed()
		self.set_dates()
示例#7
0
	def validate(self):
		validate_active_employee(self.employee)
		self.validate_duplicate_on_payroll_period()
		if not self.max_benefits:
			self.max_benefits = get_max_benefits_remaining(self.employee, self.date, self.payroll_period)
		if self.max_benefits and self.max_benefits > 0:
			self.validate_max_benefit_for_component()
			self.validate_prev_benefit_claim()
			if self.remaining_benefit > 0:
				self.validate_remaining_benefit_amount()
		else:
			frappe.throw(_("As per your assigned Salary Structure you cannot apply for benefits").format(self.employee))
示例#8
0
    def validate(self):
        if not self.status:
            self.status = "Draft"

        if not self.goals:
            frappe.throw(_("Goals cannot be empty"))

        validate_active_employee(self.employee)
        set_employee_name(self)
        self.validate_dates()
        self.validate_existing_appraisal()
        self.calculate_total()
示例#9
0
 def validate(self):
     validate_active_employee(self.employee)
     self.validate_advances()
     self.validate_sanctioned_amount()
     self.calculate_total_amount()
     set_employee_name(self)
     self.set_expense_account(validate=True)
     self.set_payable_account()
     self.set_cost_center()
     self.calculate_taxes()
     self.set_status()
     if self.task and not self.project:
         self.project = frappe.db.get_value("Task", self.task, "project")
示例#10
0
	def validate(self):
		validate_active_employee(self.employee)
		max_benefits = get_max_benefits(self.employee, self.claim_date)
		if not max_benefits or max_benefits <= 0:
			frappe.throw(_("Employee {0} has no maximum benefit amount").format(self.employee))
		payroll_period = get_payroll_period(self.claim_date, self.claim_date, frappe.db.get_value("Employee", self.employee, "company"))
		if not payroll_period:
			frappe.throw(_("{0} is not in a valid Payroll Period").format(frappe.format(self.claim_date, dict(fieldtype='Date'))))
		self.validate_max_benefit_for_component(payroll_period)
		self.validate_max_benefit_for_sal_struct(max_benefits)
		self.validate_benefit_claim_amount(max_benefits, payroll_period)
		if self.pay_against_benefit_claim:
			self.validate_non_pro_rata_benefit_claim(max_benefits, payroll_period)
示例#11
0
	def validate(self):
		validate_active_employee(self.employee)
		set_employee_name(self)
		self.validate_dates()
		self.validate_balance_leaves()
		self.validate_leave_overlap()
		self.validate_max_days()
		self.show_block_day_warning()
		self.validate_block_days()
		self.validate_salary_processed_days()
		self.validate_attendance()
		self.set_half_day_date()
		if frappe.db.get_value("Leave Type", self.leave_type, "is_optional_leave"):
			self.validate_optional_leave()
		self.validate_applicable_after()
 def validate(self):
     validate_active_employee(self.employee)
     validate_dates(self, self.work_from_date, self.work_end_date)
     if self.half_day:
         if not self.half_day_date:
             frappe.throw(_("Half Day Date is mandatory"))
         if (not getdate(self.work_from_date) <= getdate(self.half_day_date)
                 <= getdate(self.work_end_date)):
             frappe.throw(
                 _("Half Day Date should be in between Work From Date and Work End Date"
                   ))
     validate_overlap(self, self.work_from_date, self.work_end_date)
     self.validate_holidays()
     self.validate_attendance()
     if not self.leave_type:
         frappe.throw(_("Leave Type is madatory"))
示例#13
0
 def validate(self):
     validate_active_employee(self.employee)
     self.validate_duplicate_log()
     self.fetch_shift()
示例#14
0
	def validate(self):
		validate_active_employee(self.employee)
		self.validate_overlapping_shifts()

		if self.end_date:
			self.validate_from_to_dates("start_date", "end_date")
示例#15
0
 def validate(self):
     validate_active_employee(self.employee)
     if getdate(self.bonus_payment_date) < getdate():
         frappe.throw(_('Bonus Payment Date cannot be a past date'))
示例#16
0
 def validate(self):
     validate_active_employee(self.employee)
     self.validate_salary_structure()
示例#17
0
 def validate(self):
     validate_active_employee(self.employee)
     self.set_status()
示例#18
0
	def validate(self):
		validate_active_employee(self.employee)
		self.validate_dates()
		self.validate_shift_request_overlap_dates()
		self.validate_approver()
		self.validate_default_shift()
示例#19
0
    def validate(self):
        validate_active_employee(self.employee)
        self.validate_overlapping_dates()

        if self.end_date and self.end_date <= self.start_date:
            frappe.throw(_("End Date must not be lesser than Start Date"))
示例#20
0
 def validate(self):
     validate_active_employee(self.employee)
示例#21
0
	def validate(self):
		validate_active_employee(self.referrer)
		self.set_full_name()
		self.set_referral_bonus_payment_status()