def get_week_details(self, args, lwp=None):
     frappe.errprint("in the py")
     frappe.errprint(lwp)
     if not self.fiscal_year:
         self.fiscal_year = frappe.get_default("fiscal_year")
     if args:
         m = {}
         m['month_start_date'] = args['month_start_date']
         m['month_end_date'] = args['month_end_date']
         m['month_days'] = 7
         frappe.errprint(m)
     holidays = self.get_holidays_for_employee(m)
     if not cint(
             frappe.db.get_value("HR Settings", "HR Settings",
                                 "include_holidays_in_total_working_days")):
         m["month_days"] -= len(holidays)
         if m["month_days"] < 0:
             frappe.throw(
                 _("There are more holidays than working days this month."))
     if not lwp:
         lwp = self.calculate_lwp(holidays, m)
     self.total_days_in_month = m['month_days']
     self.leave_without_pay = lwp
     payment_days = flt(self.get_payment_days(m)) - flt(lwp)
     self.payment_days = payment_days > 0 and payment_days or 0
예제 #2
0
    def get_leave_details(self, lwp=None):
        if not self.doc.fiscal_year:
            self.doc.fiscal_year = frappe.get_default("fiscal_year")
        if not self.doc.month:
            self.doc.month = "%02d" % getdate(nowdate()).month

        m = get_obj('Salary Manager').get_month_details(
            self.doc.fiscal_year, self.doc.month)
        holidays = self.get_holidays_for_employee(m)

        if not cint(
                frappe.db.get_value("HR Settings", "HR Settings",
                                    "include_holidays_in_total_working_days")):
            m["month_days"] -= len(holidays)
            if m["month_days"] < 0:
                msgprint(_(
                    "Bummer! There are more holidays than working days this month."
                ),
                         raise_exception=True)

        if not lwp:
            lwp = self.calculate_lwp(holidays, m)
        self.doc.total_days_in_month = m['month_days']
        self.doc.leave_without_pay = lwp
        payment_days = flt(self.get_payment_days(m)) - flt(lwp)
        self.doc.payment_days = payment_days > 0 and payment_days or 0
예제 #3
0
	def get_leave_details(self, lwp=None):
		if not self.fiscal_year:
			self.fiscal_year = frappe.get_default("fiscal_year")
		if not self.month:
			self.month = "%02d" % getdate(nowdate()).month

		"""code for holidays"""

		m = frappe.get_doc('Salary Manager').get_month_details(self.fiscal_year, self.month)
		holidays = self.get_holidays_for_employee(m)
		m["month_days"]=7


		if not cint(frappe.db.get_value("HR Settings", "HR Settings",
			"include_holidays_in_total_working_days")):
				# frappe.errprint(len(holidays))
				m["month_days"] -= len(holidays)
				# week_days -= len(holidays)
				if m["month_days"] < 0:
					frappe.throw(_("There are more holidays than working days this month."))

		if not lwp:
			lwp = self.calculate_lwp(holidays, m)
		self.total_days_in_month = m['month_days']
		self.leave_without_pay = lwp
		payment_days = flt(self.get_payment_days(m)) - flt(lwp)
		self.payment_days = payment_days > 0 and payment_days or 0
예제 #4
0
    def get_leave_details(self, diff, lwp=None):
        #frappe.errprint("in get leave details")
        if not self.fiscal_year:
            self.fiscal_year = frappe.get_default("fiscal_year")
        if not self.month:
            self.month = "%02d" % getdate(nowdate()).month
        """code for holidays"""

        m = {
            'employee': self.employee,
            'month_start_date': self.from_date,
            'month_end_date': self.to_date
        }
        #frappe.errprint(m)
        holidays = self.get_holidays_for_employee(m)
        #frappe.errprint(holidays)
        m["month_days"] = diff
        #frappe.errprint(m["month_days"])

        if not cint(
                frappe.db.get_value("HR Settings", "HR Settings",
                                    "include_holidays_in_total_working_days")):
            #frappe.errprint(["length",len(holidays)])
            m["month_days"] -= len(holidays)
            #frappe.errprint(m["month_days"])
            # week_days -= len(holidays)
            if m["month_days"] < 0:
                #frappe.errprint("in if")
                frappe.throw(
                    _("There are more holidays than working days in between the specified from_date and to_date."
                      ))
            else:
                pass

        if not lwp:
            lwp = self.calculate_lwp(holidays, m)
            #frappe.errprint(["lwp",lwp])
            #frappe.errprint(["month_days",m['month_days']])
        self.total_days_in_month = m['month_days']
        #frappe.errprint(["total_days_in_month",self.total_days_in_month])
        self.leave_without_pay = lwp
        #frappe.errprint(["leave_without_pay",leave_without_pay])
        payment_days = flt(self.get_payment_days(m)) - flt(lwp)
        # payment_days = flt(self.total_days_in_month) - flt(lwp)
        attendance_days, attendance_hours = self.get_attendance_days()
        self.attendance_days = attendance_days
        self.attendance_hours = attendance_hours
        #frappe.errprint(["payment_days",payment_days])
        self.payment_days = payment_days > 0 and payment_days or 0
예제 #5
0
	def get_leave_details(self, lwp=None):
		if not self.fiscal_year:
			self.fiscal_year = frappe.get_default("fiscal_year")
		if not self.month:
			self.month = "%02d" % getdate(nowdate()).month

		m = frappe.get_doc('Salary Manager').get_month_details(self.fiscal_year, self.month)
		holidays = self.get_holidays_for_employee(m)

		if not cint(frappe.db.get_value("HR Settings", "HR Settings",
			"include_holidays_in_total_working_days")):
				m["month_days"] -= len(holidays)
				if m["month_days"] < 0:
					frappe.throw(_("There are more holidays than working days this month."))

		if not lwp:
			lwp = self.calculate_lwp(holidays, m)
		self.total_days_in_month = m['month_days']
		self.leave_without_pay = lwp
		payment_days = flt(self.get_payment_days(m)) - flt(lwp)
		self.payment_days = payment_days > 0 and payment_days or 0