def validate_duplicate_record(self): res = dataent.db.sql("""select name from `tabAttendance` where employee = %s and attendance_date = %s and name != %s and docstatus = 1""", (self.employee, self.attendance_date, self.name)) if res: dataent.throw(_("Attendance for employee {0} is already marked").format(self.employee)) set_employee_name(self)
def validate(self): self.validate_period() self.validate_new_leaves_allocated_value() self.validate_allocation_overlap() self.validate_back_dated_allocation() self.set_total_leaves_allocated() self.validate_total_leaves_allocated() self.validate_lwp() set_employee_name(self) self.validate_leave_allocation_days()
def validate(self): 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.set_status() if self.task and not self.project: self.project = dataent.db.get_value("Task", self.task, "project")
def validate(self): if not self.status: self.status = "Draft" if not self.goals: dataent.throw(_("Goals cannot be empty")) set_employee_name(self) self.validate_dates() self.validate_existing_appraisal() self.calculate_total()
def validate(self): 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() if dataent.db.get_value("Leave Type", self.leave_type, 'is_optional_leave'): self.validate_optional_leave() self.validate_applicable_after()
def validate(self): set_employee_name(self) self.get_leave_details_for_encashment() if not self.encashment_date: self.encashment_date = getdate(nowdate())