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