Example #1
0
    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