fix: probleme dans le scheduler + retrait de certaines restrictions sur la suppression de membre
This commit is contained in:
parent
bc0a9ee71d
commit
1cb94e8b0a
@ -34,7 +34,7 @@ def disconnect_members_from_residence(admin_user, residence_dn):
|
|||||||
|
|
||||||
if not CotisationComputes.is_cotisation_paid(member.dn, admin_user, residence_dn):
|
if not CotisationComputes.is_cotisation_paid(member.dn, admin_user, residence_dn):
|
||||||
#verification de grace pour septembre : si le membre avait cotise en Aout, on lui accorde un delai de paiement pour Septembre, et on ne le deconnecte pas
|
#verification de grace pour septembre : si le membre avait cotise en Aout, on lui accorde un delai de paiement pour Septembre, et on ne le deconnecte pas
|
||||||
if date_actuelle.month == 9 and is_cotisation_was_paid_last_year(member_dn, admin_user, residence_dn):
|
if date_actuelle.month == 9 and CotisationComputes.is_cotisation_was_paid_last_year(member.dn, admin_user, residence_dn):
|
||||||
#le membre etait a jour en aout, on lui autorise un delai de paiement en septembre - pas de deconnexion
|
#le membre etait a jour en aout, on lui autorise un delai de paiement en septembre - pas de deconnexion
|
||||||
continue
|
continue
|
||||||
#end if
|
#end if
|
||||||
@ -44,7 +44,7 @@ def disconnect_members_from_residence(admin_user, residence_dn):
|
|||||||
|
|
||||||
for dhcp_item in dhcps:
|
for dhcp_item in dhcps:
|
||||||
if dhcp_item.uid.first() == machine_membre_tag:
|
if dhcp_item.uid.first() == machine_membre_tag:
|
||||||
print("[LOG "+datetime.now().strftime("%Y-%m-%d %H:%M")+"] scheduler disable machine " + dhcp_item.get("dhcpHWAddress").values[0] + " pour l'utilisateur "+ member.dn + " -- "+ dhcp_item.dn)
|
print("[LOG "+datetime.datetime.now().strftime("%Y-%m-%d %H:%M")+"] scheduler disable machine " + dhcp_item.get("dhcpHWAddress").values[0] + " pour l'utilisateur "+ member.dn + " -- "+ dhcp_item.dn)
|
||||||
dhcp_item.uid.replace(machine_membre_tag, machine_membre_tag + "_disabled")
|
dhcp_item.uid.replace(machine_membre_tag, machine_membre_tag + "_disabled")
|
||||||
admin_user.ldap_bind.save(dhcp_item)
|
admin_user.ldap_bind.save(dhcp_item)
|
||||||
#end if
|
#end if
|
||||||
@ -61,13 +61,13 @@ def disconnect_members_from_residence(admin_user, residence_dn):
|
|||||||
for machine in machines:
|
for machine in machines:
|
||||||
dns = Machine.get_dns_by_id(admin_user, machine.dn)
|
dns = Machine.get_dns_by_id(admin_user, machine.dn)
|
||||||
ip = IpReservation.get_ip(admin_user, residence_dn, dns.dlzData.first())
|
ip = IpReservation.get_ip(admin_user, residence_dn, dns.dlzData.first())
|
||||||
print("[LOG "+datetime.now().strftime("%Y-%m-%d %H:%M")+"] suppression machine " + Machine.get_dhcps(admin_user, machine.dn)[0].get("dhcpHWAddress").values[0] + " pour l'utilisateur "+ member.dn + " par le scheduler")
|
print("[LOG "+datetime.datetime.now().strftime("%Y-%m-%d %H:%M")+"] suppression machine " + Machine.get_dhcps(admin_user, machine.dn)[0].get("dhcpHWAddress").values[0] + " pour l'utilisateur "+ member.dn + " par le scheduler")
|
||||||
#sys.stdout.flush()
|
#sys.stdout.flush()
|
||||||
admin_user.ldap_bind.delete_entry_subtree(machine.dn)
|
admin_user.ldap_bind.delete_entry_subtree(machine.dn)
|
||||||
if ip is not None:
|
if ip is not None:
|
||||||
taken_attribute = ip.get("x-taken").first()
|
taken_attribute = ip.get("x-taken").first()
|
||||||
if taken_attribute is not None:
|
if taken_attribute is not None:
|
||||||
print ("[LOG "+datetime.now().strftime("%Y-%m-%d %H:%M")+"] deleting taken_attribute")
|
print ("[LOG "+datetime.datetime.now().strftime("%Y-%m-%d %H:%M")+"] deleting taken_attribute")
|
||||||
admin_user.ldap_bind.delete_attr(ip.dn, IpReservation.taken_attr(taken_attribute))
|
admin_user.ldap_bind.delete_attr(ip.dn, IpReservation.taken_attr(taken_attribute))
|
||||||
#end if
|
#end if
|
||||||
#end if
|
#end if
|
||||||
|
@ -177,12 +177,27 @@ class CotisationComputes:
|
|||||||
#end def
|
#end def
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
# no cotisation for 2 years
|
# no cotisation for the new year and last year august didn't payed
|
||||||
def is_member_to_delete(member, user_session, residence_dn):
|
def is_member_to_delete(member, user_session, residence_dn):
|
||||||
current_year = CotisationComputes.current_year()
|
current_year = CotisationComputes.current_year()
|
||||||
cotisations_this_year = Cotisation.cotisations_of_member(user_session, member.dn, current_year)
|
cotisations_this_year = Cotisation.cotisations_of_member(user_session, member.dn, current_year)
|
||||||
cotisations_previous_year = Cotisation.cotisations_of_member(user_session, member.dn, current_year - 1)
|
cotisations_previous_year = Cotisation.cotisations_of_member(user_session, member.dn, current_year - 1)
|
||||||
return cotisations_this_year == [] and cotisations_previous_year == []
|
|
||||||
|
if cotisations_this_year == [] and cotisations_previous_year == []:
|
||||||
|
return True
|
||||||
|
|
||||||
|
now = datetime.datetime.now()
|
||||||
|
if now.month < 9:
|
||||||
|
last_year = datetime.datetime(now.year - 1, 8, 31, 12, 0)
|
||||||
|
else:
|
||||||
|
last_year = datetime.datetime(now.year, 8, 31, 12, 0)
|
||||||
|
#end if
|
||||||
|
|
||||||
|
anniversary = CotisationComputes.anniversary_from_ldap_items(cotisations_previous_year)
|
||||||
|
#end if
|
||||||
|
delta = (last_year - anniversary)
|
||||||
|
return cotisations_this_year == [] and delta.days > 7
|
||||||
|
|
||||||
#end def
|
#end def
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -196,7 +211,7 @@ class CotisationComputes:
|
|||||||
if now.month < 9:
|
if now.month < 9:
|
||||||
last_year = datetime.datetime(now.year - 1, 8, 31, 12, 0)
|
last_year = datetime.datetime(now.year - 1, 8, 31, 12, 0)
|
||||||
else:
|
else:
|
||||||
last_year = datetime.datetime(now, 8, 31, 12, 0)
|
last_year = datetime.datetime(now.year, 8, 31, 12, 0)
|
||||||
#end if
|
#end if
|
||||||
|
|
||||||
if cotisations is None:
|
if cotisations is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user