Ejemplo n.º 1
0
 def create(self, staff_info, result_mapping):
     staff_qs = Staff.query().filter(identity = staff_info.identity)
     if staff_qs.count():
         staff = staff_qs[0]
     else:
         staff = Staff.create(**staff_info)
     return staff
Ejemplo n.º 2
0
    def get_staff_byname(self, staff_name):
        staff = None
        if staff_name:
            staff_alias_qs = StaffAlias.search(alias=staff_name.strip())
            if staff_alias_qs.count() > 0:
                staff = staff_alias_qs[0].staff
            else:
                staff_name = self.format_str(staff_name)
                staff = Staff.get_staff_byname(staff_name)
                if staff is None:
                    staff = Staff.create(name=staff_name, is_working=False)

        return staff
Ejemplo n.º 3
0
    def skip_staff(self, name, identity):
        if name == "":
            self._error_msg = "缺少姓名"
            return False

        if identity == "":
            staff_qs = Staff.search(name=name)
        else:
            staff_qs = Staff.search(name=name, identity=identity)

        if staff_qs.count() > 0:
            self._error_msg = "重复数据"
            return False

        return True
Ejemplo n.º 4
0
    def exec_convet(self, importstaff):

        check_staff = self.skip_staff(importstaff.name, importstaff.identity)
        if check_staff:
            staff = Staff.create(name = importstaff.name, phone = importstaff.phone[:11], gender = self.get_gender(importstaff.gender), \
                                 identity = importstaff.identity, birthday = importstaff.birthday, \
                                 emergency_contact = importstaff.emergency_contact, emergency_phone = importstaff.emergency_phone[:11], \
                                 address = importstaff.address, entry_time = importstaff.entry_time , \
                                 education = self.get_education(importstaff.education), bank_number = importstaff.bank_number , \
                                 contract_b = importstaff.contract_b, contract_l = importstaff.contract_l, \
                                 expire_time = importstaff.expire_time, remark = importstaff.remark, \
                                 quit_time = importstaff.quit_time, is_working = importstaff.is_on_job, \
                                 )
            if staff is not None and staff.is_working:
                if staff.phone:
                    staff_account_qs = StaffAccount.query().filter(
                        username=staff.phone)
                    if staff_account_qs.count() == 0:
                        StaffAccount.create(username = staff.phone, password = hashlib.md5("123456".encode("utf-8")).hexdigest(), \
                                        staff = staff)
                self.convet_role(staff, importstaff.position)
                self.convet_department(staff, importstaff.department)

            return True, ""

        return False, self._error_msg
Ejemplo n.º 5
0
    def calc(self, has_none=False):
        if not hasattr(self, '_enume'):
            from model.store.model_user import Staff
            self._enume = []
            for staff in Staff.query().filter(id__gt=1):
                self._enume.append(staff)

        select_enum = self._enume.copy()
        if has_none:
            select_enum.append(None)
        return random.choice(select_enum)
Ejemplo n.º 6
0
    def convet_staff(self, staff_name):
        staff_alias_qs = StaffAlias.search(alias=staff_name)
        if staff_alias_qs.count() > 0:
            self._staff = staff_alias_qs[0].staff
        else:
            staff_qs = Staff.get_staff_byname(Q(name = staff_name) \
                        | Q(number = staff_name))

            if staff_qs.count() > 0:
                self._staff = staff_qs[0]
            else:
                self._error_msg = "备注客服不存在"
                return False

        return True
Ejemplo n.º 7
0
    def test_api_token(self):
        """ test api token"""

        staff = Staff.query()[0]

        print('-------'*10)
        token = UserServer.generate_token(staff)
        print(str(token))

        print('-------'*10)
        token = UserServer.get_token(token.auth_token)
        print(str(token))

        print('-------'*10)
        token = UserServer.renew_token(token.auth_token, token.renew_flag)
        print(str(token))
Ejemplo n.º 8
0
    def get_staff(self, staff_name):
        staff = Staff.get_staff_byname(staff_name)

        return staff
Ejemplo n.º 9
0
 def create_byadmin(cls, **kwargs):
     staff = Staff.create(**kwargs)
     if staff is None:
         return None
     kwargs.update({'staff': staff})
     return super(BaseAccount, cls).create(**kwargs)