def AuthenticatedGet(self, org, _): global_admin = False local_admin = False if org.name == GLOBAL_ADMIN_NAME: global_admin = True if org.is_admin == True and global_admin == False: local_admin = True if global_admin == False and local_admin == False: self.redirect("/") return # lookup contact try: id = int(self.request.get("contact")) contact = Contact.get_by_id(id) except: self.abort(404) # check authorised if not org.may_administer(contact): self.abort(403) # create form form = ContactFormFull(None, contact) # render template self.response.out.write(template.render({ "contact": contact, "form": form, "organization_name": ( contact.organization.name if contact.organization else None ), "global_admin": global_admin, }))
def AuthenticatedGet(self, org, event): try: contact_id = int(self.request.get("contact", -1)) contact = Contact.get_by_id(contact_id) except: self.abort(404) if not contact: self.abort(404) self.response.out.write(template.render({ "contact": contact, "form": ContactFormFull(None, contact), # use form to iterate fields }))
def AuthenticatedGet(self, org, event): try: contact_id = int(self.request.get("contact", -1)) contact = Contact.get_by_id(contact_id) except: self.abort(404) if not contact: self.abort(404) self.response.out.write( template.render({ "contact": contact, "form": ContactFormFull(None, contact), # use form to iterate fields }))
def AuthenticatedPost(self, org, _): global_admin = False local_admin = False if org.name == GLOBAL_ADMIN_NAME: global_admin = True if org.is_admin == True and global_admin == False: local_admin = True if global_admin == False and local_admin == False: self.redirect("/") return form = ContactFormFull(self.request.POST) # retrieve contact try: contact_id = int(self.request.get("contact_id")) contact = Contact.get_by_id(contact_id) except: self.abort(404) # check authorised if not org.may_administer(contact): self.abort(403) if form.validate() and not form.errors: # update contact and redirect form.populate_obj(contact) contact.save() self.redirect('/admin-single-contact?contact=%d' % contact.key().id()) else: self.response.out.write(template.render({ "contact": contact, "form": form, "organization_name": ( contact.organization.name if contact.organization else None ), "global_admin": global_admin, }))