def form2obj(cls, form, acc=None): """ Convert a form object to a user account object. If a user account object is already supplied, enhance that object :param form: :param acc: :return: """ acc = BasicUserFormXwalk.form2obj(form, acc) if getattr(form, "name", None): acc.name = form.name.data if getattr(form, "organisation", None): acc.organisation = form.organisation.data if getattr(form, "org_role", None): acc.org_role = form.org_role.data if getattr(form, "lantern_email", None): acc.lantern_email = form.lantern_email.data if getattr(form, "lantern_api_key", None): acc.lantern_api_key = form.lantern_api_key.data # if a new API key has been requested, set it if form.request_api_key.data == "true": acc.generate_api_key() return acc
def obj2form(cls, acc): """ Convert a user account object to a dictionary suitable for use with the form :param acc: user Account object :return: dictionary of form data """ data = BasicUserFormXwalk.obj2form(acc) data["name"] = acc.name data["organisation"] = acc.organisation data["org_role"] = acc.org_role data["lantern_email"] = acc.lantern_email data["lantern_api_key"] = acc.lantern_api_key return data