def update_movement_from_form(dbo, username, data): """ Updates a movement record from posted form data """ validate_movement_form_data(dbo, data) l = dbo.locale movementid = utils.df_ki(data, "movementid") sql = db.make_update_user_sql(dbo, "adoption", username, "ID=%d" % movementid, ( ( "AdoptionNumber", utils.df_t(data, "adoptionno")), ( "OwnerID", db.di(utils.df_ki(data, "person"))), ( "RetailerID", db.di(utils.df_ki(data, "retailer"))), ( "AnimalID", db.di(utils.df_ki(data, "animal"))), ( "OriginalRetailerMovementID", db.di(utils.df_ki(data, "originalretailermovement"))), ( "MovementDate", utils.df_d(data, "movementdate", l)), ( "MovementType", utils.df_s(data, "type")), ( "ReturnDate", utils.df_d(data, "returndate", l)), ( "ReturnedReasonID", utils.df_s(data, "returncategory")), ( "Donation", utils.df_m(data, "donation", l)), ( "InsuranceNumber", utils.df_t(data, "insurance")), ( "ReasonForReturn", utils.df_t(data, "reason")), ( "ReservationDate", utils.df_d(data, "reservationdate", l)), ( "ReservationCancelledDate", utils.df_d(data, "reservationcancelled", l)), ( "IsTrial", utils.df_c(data, "trial")), ( "IsPermanentFoster", utils.df_c(data, "permanentfoster")), ( "TrialEndDate", utils.df_d(data, "trialenddate", l)), ( "Comments", utils.df_t(data, "comments")) )) preaudit = db.query(dbo, "SELECT * FROM adoption WHERE ID = %d" % movementid) db.execute(dbo, sql) postaudit = db.query(dbo, "SELECT * FROM adoption WHERE ID = %d" % movementid) audit.edit(dbo, username, "adoption", audit.map_diff(preaudit, postaudit)) animal.update_animal_status(dbo, utils.df_ki(data, "animal")) animal.update_variable_animal_data(dbo, utils.df_ki(data, "animal")) update_movement_donation(dbo, movementid)
def insert_movement_from_form(dbo, username, data): """ Creates a movement record from posted form data """ movementid = db.get_id(dbo, "adoption") adoptionno = utils.df_ks(data, "adoptionno") animalid = utils.df_ki(data, "animal") if adoptionno == "": # No adoption number was supplied, generate a # unique number from the movementid idx = movementid while True: adoptionno = utils.padleft(idx, 6) data["adoptionno"] = adoptionno if 0 == db.query_int( dbo, "SELECT COUNT(*) FROM adoption WHERE AdoptionNumber LIKE '%s'" % adoptionno): break else: idx += 1 validate_movement_form_data(dbo, data) l = dbo.locale sql = db.make_insert_user_sql( dbo, "adoption", username, (("ID", db.di(movementid)), ("AdoptionNumber", db.ds(adoptionno)), ("OwnerID", db.di(utils.df_ki(data, "person"))), ("RetailerID", db.di(utils.df_ki(data, "retailer"))), ("AnimalID", db.di(utils.df_ki(data, "animal"))), ("OriginalRetailerMovementID", db.di(utils.df_ki(data, "originalretailermovement"))), ("MovementDate", utils.df_d(data, "movementdate", l)), ("MovementType", utils.df_s(data, "type")), ("ReturnDate", utils.df_d(data, "returndate", l)), ("ReturnedReasonID", utils.df_s(data, "returncategory")), ("Donation", utils.df_m(data, "donation", l)), ("InsuranceNumber", utils.df_t(data, "insurance")), ("ReasonForReturn", utils.df_t(data, "reason")), ("ReservationDate", utils.df_d(data, "reservationdate", l)), ("ReservationCancelledDate", utils.df_d(data, "reservationcancelled", l)), ("IsTrial", utils.df_c(data, "trial")), ("IsPermanentFoster", utils.df_c(data, "permanentfoster")), ("TrialEndDate", utils.df_d(data, "trialenddate", l)), ("Comments", utils.df_t(data, "comments")))) db.execute(dbo, sql) audit.create(dbo, username, "adoption", str(movementid)) animal.update_animal_status(dbo, animalid) animal.update_variable_animal_data(dbo, animalid) update_movement_donation(dbo, movementid) return movementid
def insert_movement_from_form(dbo, username, data): """ Creates a movement record from posted form data """ movementid = db.get_id(dbo, "adoption") adoptionno = utils.df_ks(data, "adoptionno") animalid = utils.df_ki(data, "animal") if adoptionno == "": # No adoption number was supplied, generate a # unique number from the movementid idx = movementid while True: adoptionno = utils.padleft(idx, 6) data["adoptionno"] = adoptionno if 0 == db.query_int(dbo, "SELECT COUNT(*) FROM adoption WHERE AdoptionNumber LIKE '%s'" % adoptionno): break else: idx += 1 validate_movement_form_data(dbo, data) l = dbo.locale sql = db.make_insert_user_sql(dbo, "adoption", username, ( ( "ID", db.di(movementid)), ( "AdoptionNumber", db.ds(adoptionno)), ( "OwnerID", db.di(utils.df_ki(data, "person"))), ( "RetailerID", db.di(utils.df_ki(data, "retailer"))), ( "AnimalID", db.di(utils.df_ki(data, "animal"))), ( "OriginalRetailerMovementID", db.di(utils.df_ki(data, "originalretailermovement"))), ( "MovementDate", utils.df_d(data, "movementdate", l)), ( "MovementType", utils.df_s(data, "type")), ( "ReturnDate", utils.df_d(data, "returndate", l)), ( "ReturnedReasonID", utils.df_s(data, "returncategory")), ( "Donation", utils.df_m(data, "donation", l)), ( "InsuranceNumber", utils.df_t(data, "insurance")), ( "ReasonForReturn", utils.df_t(data, "reason")), ( "ReservationDate", utils.df_d(data, "reservationdate", l)), ( "ReservationCancelledDate", utils.df_d(data, "reservationcancelled", l)), ( "IsTrial", utils.df_c(data, "trial")), ( "IsPermanentFoster", utils.df_c(data, "permanentfoster")), ( "TrialEndDate", utils.df_d(data, "trialenddate", l)), ( "Comments", utils.df_t(data, "comments")) )) db.execute(dbo, sql) audit.create(dbo, username, "adoption", str(movementid)) animal.update_animal_status(dbo, animalid) animal.update_variable_animal_data(dbo, animalid) update_movement_donation(dbo, movementid) return movementid
def insert_waitinglist_from_form(dbo, data, username): """ Creates a waiting list record from the screen data: The webpy data object containing form parameters """ l = dbo.locale if utils.df_ks(data, "description") == "": raise utils.ASMValidationError(_("Description cannot be blank", l)) if utils.df_ki(data, "owner") == "0": raise utils.ASMValidationError(_("Waiting list entries must have a contact", l)) if utils.df_ks(data, "dateputon") == "": raise utils.ASMValidationError(_("Date put on cannot be blank", l)) nwlid = db.get_id(dbo, "animalwaitinglist") db.execute(dbo, db.make_insert_user_sql(dbo, "animalwaitinglist", username, ( ( "ID", db.di(nwlid)), ( "SpeciesID", utils.df_s(data, "species")), ( "DatePutOnList", utils.df_d(data, "dateputon", l)), ( "OwnerID", utils.df_s(data, "owner")), ( "AnimalDescription", utils.df_t(data, "description")), ( "ReasonForWantingToPart", utils.df_t(data, "reasonforwantingtopart")), ( "CanAffordDonation", utils.df_c(data, "canafforddonation")), ( "Urgency", utils.df_s(data, "urgency")), ( "DateRemovedFromList", utils.df_d(data, "dateremoved", l)), ( "AutoRemovePolicy", utils.df_s(data, "autoremovepolicy")), ( "DateOfLastOwnerContact", db.dd(now(dbo.timezone))), ( "ReasonForRemoval", utils.df_t(data, "reasonforremoval")), ( "Comments", utils.df_t(data, "comments")), ( "UrgencyLastUpdatedDate", db.dd(now(dbo.timezone))), ( "UrgencyUpdateDate", db.dd(add_days(now(dbo.timezone), configuration.waiting_list_urgency_update_period(dbo)))) ))) audit.create(dbo, username, "animalwaitinglist", str(nwlid)) return nwlid
def update_waitinglist_from_form(dbo, data, username): """ Updates a waiting list record from the screen data: The webpy data object containing form parameters """ l = dbo.locale wlid = utils.df_ki(data, "id") if utils.df_ks(data, "description") == "": raise utils.ASMValidationError(_("Description cannot be blank", l)) if utils.df_ki(data, "owner") == "0": raise utils.ASMValidationError(_("Waiting list entries must have a contact", l)) if utils.df_ks(data, "dateputon") == "": raise utils.ASMValidationError(_("Date put on cannot be blank", l)) preaudit = db.query(dbo, "SELECT * FROM animalwaitinglist WHERE ID = %d" % wlid) db.execute(dbo, db.make_update_user_sql(dbo, "animalwaitinglist", username, "ID=%d" % wlid, ( ( "SpeciesID", utils.df_s(data, "species")), ( "DatePutOnList", utils.df_d(data, "dateputon", l)), ( "OwnerID", utils.df_s(data, "owner")), ( "AnimalDescription", utils.df_t(data, "description")), ( "ReasonForWantingToPart", utils.df_t(data, "reasonforwantingtopart")), ( "CanAffordDonation", utils.df_c(data, "canafforddonation")), ( "Urgency", utils.df_s(data, "urgency")), ( "DateRemovedFromList", utils.df_d(data, "dateremoved", l)), ( "AutoRemovePolicy", utils.df_s(data, "autoremovepolicy")), ( "DateOfLastOwnerContact", utils.df_d(data, "dateoflastownercontact", l)), ( "ReasonForRemoval", utils.df_t(data, "reasonforremoval")), ( "Comments", utils.df_t(data, "comments")) ))) additional.save_values_for_link(dbo, data, wlid, "waitinglist") postaudit = db.query(dbo, "SELECT * FROM animalwaitinglist WHERE ID = %d" % wlid) audit.edit(dbo, username, "animalwaitinglist", audit.map_diff(preaudit, postaudit))
def update_movement_from_form(dbo, username, data): """ Updates a movement record from posted form data """ validate_movement_form_data(dbo, data) l = dbo.locale movementid = utils.df_ki(data, "movementid") sql = db.make_update_user_sql( dbo, "adoption", username, "ID=%d" % movementid, (("AdoptionNumber", utils.df_t(data, "adoptionno")), ("OwnerID", db.di(utils.df_ki(data, "person"))), ("RetailerID", db.di(utils.df_ki(data, "retailer"))), ("AnimalID", db.di(utils.df_ki(data, "animal"))), ("OriginalRetailerMovementID", db.di(utils.df_ki(data, "originalretailermovement"))), ("MovementDate", utils.df_d(data, "movementdate", l)), ("MovementType", utils.df_s(data, "type")), ("ReturnDate", utils.df_d(data, "returndate", l)), ("ReturnedReasonID", utils.df_s(data, "returncategory")), ("Donation", utils.df_m(data, "donation", l)), ("InsuranceNumber", utils.df_t(data, "insurance")), ("ReasonForReturn", utils.df_t(data, "reason")), ("ReservationDate", utils.df_d(data, "reservationdate", l)), ("ReservationCancelledDate", utils.df_d(data, "reservationcancelled", l)), ("IsTrial", utils.df_c(data, "trial")), ("IsPermanentFoster", utils.df_c(data, "permanentfoster")), ("TrialEndDate", utils.df_d(data, "trialenddate", l)), ("Comments", utils.df_t(data, "comments")))) preaudit = db.query(dbo, "SELECT * FROM adoption WHERE ID = %d" % movementid) db.execute(dbo, sql) postaudit = db.query(dbo, "SELECT * FROM adoption WHERE ID = %d" % movementid) audit.edit(dbo, username, "adoption", audit.map_diff(preaudit, postaudit)) animal.update_animal_status(dbo, utils.df_ki(data, "animal")) animal.update_variable_animal_data(dbo, utils.df_ki(data, "animal")) update_movement_donation(dbo, movementid)
def insert_waitinglist_from_form(dbo, data, username): """ Creates a waiting list record from the screen data: The webpy data object containing form parameters """ l = dbo.locale if utils.df_ks(data, "description") == "": raise utils.ASMValidationError(_("Description cannot be blank", l)) if utils.df_ki(data, "owner") == "0": raise utils.ASMValidationError( _("Waiting list entries must have a contact", l)) if utils.df_ks(data, "dateputon") == "": raise utils.ASMValidationError(_("Date put on cannot be blank", l)) nwlid = db.get_id(dbo, "animalwaitinglist") db.execute( dbo, db.make_insert_user_sql( dbo, "animalwaitinglist", username, (("ID", db.di(nwlid)), ("SpeciesID", utils.df_s(data, "species")), ("DatePutOnList", utils.df_d(data, "dateputon", l)), ("OwnerID", utils.df_s(data, "owner")), ("AnimalDescription", utils.df_t(data, "description")), ("ReasonForWantingToPart", utils.df_t(data, "reasonforwantingtopart")), ("CanAffordDonation", utils.df_c(data, "canafforddonation")), ("Urgency", utils.df_s(data, "urgency")), ("DateRemovedFromList", utils.df_d(data, "dateremoved", l)), ("AutoRemovePolicy", utils.df_s(data, "autoremovepolicy")), ("DateOfLastOwnerContact", db.dd(now(dbo.timezone))), ("ReasonForRemoval", utils.df_t(data, "reasonforremoval")), ("Comments", utils.df_t(data, "comments")), ("UrgencyLastUpdatedDate", db.dd(now(dbo.timezone))), ("UrgencyUpdateDate", db.dd( add_days( now(dbo.timezone), configuration.waiting_list_urgency_update_period(dbo))) )))) audit.create(dbo, username, "animalwaitinglist", str(nwlid)) return nwlid
def update_waitinglist_from_form(dbo, data, username): """ Updates a waiting list record from the screen data: The webpy data object containing form parameters """ l = dbo.locale wlid = utils.df_ki(data, "id") if utils.df_ks(data, "description") == "": raise utils.ASMValidationError(_("Description cannot be blank", l)) if utils.df_ki(data, "owner") == "0": raise utils.ASMValidationError( _("Waiting list entries must have a contact", l)) if utils.df_ks(data, "dateputon") == "": raise utils.ASMValidationError(_("Date put on cannot be blank", l)) preaudit = db.query(dbo, "SELECT * FROM animalwaitinglist WHERE ID = %d" % wlid) db.execute( dbo, db.make_update_user_sql( dbo, "animalwaitinglist", username, "ID=%d" % wlid, (("SpeciesID", utils.df_s(data, "species")), ("DatePutOnList", utils.df_d(data, "dateputon", l)), ("OwnerID", utils.df_s(data, "owner")), ("AnimalDescription", utils.df_t(data, "description")), ("ReasonForWantingToPart", utils.df_t(data, "reasonforwantingtopart")), ("CanAffordDonation", utils.df_c(data, "canafforddonation")), ("Urgency", utils.df_s(data, "urgency")), ("DateRemovedFromList", utils.df_d(data, "dateremoved", l)), ("AutoRemovePolicy", utils.df_s(data, "autoremovepolicy")), ("DateOfLastOwnerContact", utils.df_d(data, "dateoflastownercontact", l)), ("ReasonForRemoval", utils.df_t(data, "reasonforremoval")), ("Comments", utils.df_t(data, "comments"))))) additional.save_values_for_link(dbo, data, wlid, "waitinglist") postaudit = db.query( dbo, "SELECT * FROM animalwaitinglist WHERE ID = %d" % wlid) audit.edit(dbo, username, "animalwaitinglist", audit.map_diff(preaudit, postaudit))