示例#1
0
文件: base.py 项目: cube-creative/zou
 def generate_fixture_user(self):
     self.user = Person.create(first_name="John",
                               last_name="Did",
                               role="admin",
                               email=u"*****@*****.**",
                               password=auth.encrypt_password("mypassword"))
     return self.user
示例#2
0
def create_person(
    email,
    password,
    first_name,
    last_name,
    phone="",
    role="user",
    desktop_login="",
):
    """
    Create a new person entry in the database. No operation are performed on
    password, so encrypted password is expected.
    """
    if email is not None:
        email = email.strip()
    person = Person.create(
        email=email,
        password=password,
        first_name=first_name,
        last_name=last_name,
        phone=phone,
        role=role,
        desktop_login=desktop_login,
    )
    events.emit("person:new", {"person_id": person.id})
    clear_person_cache()
    return person.serialize()
示例#3
0
文件: persons.py 项目: cgwire/zou
    def import_row(self, row):
        first_name = row["First Name"]
        last_name = row["Last Name"]
        email = row["Email"]
        phone = row.get("Phone", None)
        role = row.get("Role", None)

        role_map = {
            "Studio Manager": "admin",
            "Production Manager": "manager",
            "Supervisor": "supervisor",
            "Artist": "user",
            "Client": "client",
            "Vendor": "vendor",
        }

        data = {"first_name": first_name, "last_name": last_name}
        if role is not None and role != "":
            if role in role_map.keys():
                role = role_map[role]
            data["role"] = role
        if phone is not None and phone != "":
            data["phone"] = phone

        person = Person.get_by(email=email)
        if person is None:
            data["email"] = email
            data["password"] = auth.encrypt_password("default")
            person = Person.create(**data)
        elif self.is_update:
            person.update(data)
        index_service.index_person(person)
        return person.serialize_safe()
示例#4
0
 def generate_fixture_user_vendor(self):
     self.user_vendor = Person.create(
         first_name="John",
         last_name="Did5",
         role="vendor",
         email=u"*****@*****.**",
         password=auth.encrypt_password("mypassword")).serialize()
     return self.user_vendor
示例#5
0
 def generate_fixture_user_client(self):
     self.user_client = Person.create(
         first_name="John",
         last_name="Did4",
         role="client",
         email=u"*****@*****.**",
         password=auth.encrypt_password("mypassword")).serialize()
     return self.user_client
示例#6
0
文件: base.py 项目: cube-creative/zou
 def generate_fixture_user_cg_artist(self):
     self.user_cg_artist = Person.create(
         first_name="John",
         last_name="Did3",
         email=u"*****@*****.**",
         role="user",
         password=auth.encrypt_password("mypassword"))
     return self.user_cg_artist
示例#7
0
文件: base.py 项目: cgwire/zou
 def generate_fixture_user_manager(self):
     self.user_manager = Person.create(
         first_name="John",
         last_name="Did2",
         role="manager",
         email="*****@*****.**",
         password=auth.encrypt_password("mypassword"),
     ).serialize()
     return self.user_manager
示例#8
0
文件: base.py 项目: Arubinu/zou
 def generate_fixture_person(self,
                             first_name="John",
                             last_name="Doe",
                             desktop_login="******",
                             email="*****@*****.**"):
     self.person = Person.create(
         first_name=first_name,
         last_name=last_name,
         desktop_login=desktop_login,
         email=email,
         password=auth.encrypt_password("mypassword"))
     return self.person
示例#9
0
    def import_row(self, row):
        first_name = row["First Name"]
        last_name = row["Last Name"]
        email = row["Email"]
        phone = row["Phone"]
        role = row.get("Role", None)

        if role == "Studio Manager":
            role = "admin"
        elif role == "Supervisor":
            role = "manager"
        elif role == "Client":
            role = "client"

        if (
            role is not None
            and len(role) > 0
            and role not in ["admin", "manager"]
        ):
            role = "user"

        try:
            password = auth.encrypt_password("default")
            person = Person.get_by(email=email)

            if person is None:
                person = Person.create(
                    email=email,
                    password=password,
                    first_name=first_name,
                    last_name=last_name,
                    phone=phone,
                    role=role,
                )
            else:
                data = {
                    "first_name": first_name,
                    "last_name": last_name,
                    "phone": phone,
                }
                if role is not None and len(role) > 0:
                    data["role"] = role
                person.update(data)
        except IntegrityError:
            person = Person.get_by(email=email)

        return person.serialize_safe()
示例#10
0
文件: persons.py 项目: tokejepsen/zou
    def import_row(self, row):
        first_name = row["First Name"]
        last_name = row["Last Name"]
        email = row["Email"]
        phone = row["Phone"]

        try:
            password = auth.encrypt_password("default")
            person = Person.create(email=email,
                                   password=password,
                                   first_name=first_name,
                                   last_name=last_name,
                                   phone=phone)
        except IntegrityError:
            person = Person.get_by(email=email)

        return person
示例#11
0
def create_person(email,
                  password,
                  first_name,
                  last_name,
                  phone="",
                  role="user"):
    """
    Create a new person entry in the database. No operation are performed on
    password, so encrypted password is expected.
    """
    person = Person.create(email=email,
                           password=password,
                           first_name=first_name,
                           last_name=last_name,
                           phone=phone,
                           role=role)
    return person.serialize()
示例#12
0
def create_person(
    email,
    password,
    first_name,
    last_name,
    phone="",
    role="user",
    desktop_login="",
    departments=[],
):
    """
    Create a new person entry in the database. No operation are performed on
    password, so encrypted password is expected.
    """
    if email is not None:
        email = email.strip()
    if not departments:
        departments = []

    try:
        departments_objects = [
            Department.get(department_id)
            for department_id in departments
            if department_id is not None
        ]
    except StatementError:
        raise DepartmentNotFoundException()

    person = Person.create(
        email=email,
        password=password,
        first_name=first_name,
        last_name=last_name,
        phone=phone,
        role=role,
        desktop_login=desktop_login,
        departments=departments_objects,
    )
    index_service.index_person(person)
    events.emit("person:new", {"person_id": person.id})
    clear_person_cache()
    return person.serialize(relations=True)
示例#13
0
 def generate_fixture_assigner(self):
     self.assigner = Person.create(first_name="Ema", last_name="Peel")
     return self.assigner