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