コード例 #1
0
ファイル: branches.py プロジェクト: RobusGauli/hris_28
def get_facilitytype(id):
    try:
        ft = db_session.query(FacilityType).filter(FacilityType.id == id).one()
    except NoResultFound:
        return record_notfound_envelop()
    else:
        return record_json_envelop(ft.to_dict())
コード例 #2
0
def get_empextras_by_emp(id):
    try:
        q = db_session.query(EmployeeExtra).filter(
            EmployeeExtra.employee_id == id).one()
    except NoResultFound as e:
        return record_notfound_envelop()
    except Exception as e:
        return fatal_error_envelop()
    else:
        tr = {
            'id':
            q.id,
            'ref_name':
            q.ref_name if q.ref_name else '',
            'ref_address':
            q.ref_address if q.ref_address else '',
            'ref_contact_number':
            q.ref_contact_number if q.ref_contact_number else '',
            'emp_father_name':
            q.emp_father_name if q.emp_father_name else '',
            'emp_mother_name':
            q.emp_mother_name if q.emp_mother_name else '',
            'emp_single':
            q.emp_single if q.emp_single else '',
            'emp_wife_name':
            q.emp_wife_name if q.emp_wife_name else '',
            'emp_num_of_children':
            q.emp_num_of_children if q.emp_num_of_children else ''
        }
        return record_json_envelop(tr)
コード例 #3
0
ファイル: roles.py プロジェクト: RobusGauli/hris_27
def get_role_by_id(r_id):
    try:
        role = db_session.query(Role).filter(Role.id == r_id).one()
    except NoResultFound as e:
        return record_notfound_envelop()
    except Exception as e:
        return fatal_error_envelop()
    else:
        return record_json_envelop(role.to_dict())
コード例 #4
0
ファイル: branches.py プロジェクト: RobusGauli/hris_28
def get_facility_(ft_id, f_id):
    try:
        ft = db_session.query(Facility).filter(Facility.id == f_id).one()
    except NoResultFound:
        return result_notfound_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_json_envelop(ft.to_dict())
コード例 #5
0
ファイル: branches.py プロジェクト: RobusGauli/hris_28
def get_agency(id):
    try:
        agency = db_session.query(Agency).filter(Agency.id == id).one()
    except NoResultFound:
        return record_notfound_envelop()
    except Exception:
        return fatal_envelop_error()
    else:
        return record_json_envelop(agency.to_dict())
コード例 #6
0
ファイル: users.py プロジェクト: RobusGauli/hris_28
def get_password_policy():
    try:
        pol = db_session.query(PasswordPolicy).filter(
            PasswordPolicy.id == 1).one()
    except NoResultFound as e:
        return record_notfound_envelop()
    except Exception as e:
        return fatal_error_envelop()
    else:
        return record_json_envelop(pol.to_dict())
コード例 #7
0
def get_division_position(id):
    try:
        dv = db_session.query(DivisionPosition).filter(
            DivisionPosition.id == id).one()
    except NoResultFound:
        return record_notfound_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_json_envelop(dv.to_dict())
コード例 #8
0
ファイル: empdetails.py プロジェクト: RobusGauli/hris_28
def get_employee_address(e_id, id):
    try:
        addresses = db_session.query(EmployeeAddress).filter(
            EmployeeAddress.id == id).one()
    except NoResultFound:
        return record_notfound_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_json_envelop(addresses.to_dict())
コード例 #9
0
ファイル: users.py プロジェクト: RobusGauli/hris_28
def get_company_detail():
    try:
        company = db_session.query(CompanyDetail).filter(
            CompanyDetail.id == 1).one()
        adict = company.to_dict()
        district = db_session.query(District).filter(
            District.id == int(company.district)).one()
        adict['district_name'] = district.display_name
        adict['province_name'] = district.province.display_name
        adict['region_name'] = district.province.region.display_name

    except NoResultFound as e:
        return record_notfound_envelop()
    except Exception as e:

        return fatal_error_envelop()
    else:
        return record_json_envelop(adict)
コード例 #10
0
ファイル: users.py プロジェクト: RobusGauli/hris_new
def register_user():
    '''This view register the user by generating ht access token with the given role'''
    if request.args and request.args['action'] == 'register':

        #check if all key existst
        if not set(
                request.json.keys()) == {'user_name', 'password', 'role_id'}:
            return jsonify({'message': 'missing keys'})

    #lower case the user_name
        if any(
                len(val.strip()) < 5 for val in request.json.values()
                if isinstance(val, str)):
            return jsonify({'message': 'Not adequate length of values'})

    #lower case the user_name
        user_name = request.json['user_name'].strip().lower()
        role_id = request.json['role_id']
        hashed_pass = hash_password(request.json['password'].encode())
        #get the user access_token
        user_access_token = gen_access_token(role_id, user_name)
        user = User(user_name=user_name,
                    password=hashed_pass,
                    role_id=role_id,
                    access_token=user_access_token.decode('utf-8'))
        try:
            db_session.add(user)

            db_session.commit()
        except IntegrityError as ie:
            #hadle the error here
            return record_exists_envelop()

        else:
            return jsonify({
                'message': 'user_added_successfully',
                'access_token': user_access_token.decode('utf-8')
            })

    elif request.args['action'] == 'login':
        if request.json:
            if not set(request.json.keys()) == {'user_name', 'password'}:
                return jsonify({'message': 'missing keys'})
        else:
            return jsonify({'message': 'json object'})

        user_name = request.json['user_name']
        password = request.json['password']

        #now hass the password
        hashed_pass = hash_password(password)

        #get the user from the users for the password and user name
        try:
            user = db_session.query(User).filter(
                User.user_name == user_name).one()
            if not user:
                return record_notfound_envelop('User doesn\'t exists')
            #if there is user check for the password
            if hashed_pass == user.password:
                return record_json_envelop({
                    'access_token': user.access_token,
                    'activate': user.activate,
                    'role_id': user.role_id,
                    'permissions': user.role.to_dict()
                })
            else:
                return record_notfound_envelop('Password doesn\'t match')
        except NoResultFound as e:
            return record_notfound_envelop('User doesn\'t exists')
    ###to register the user with the employee

    elif request.args['action'] == 'registeruserforemployee':
        if not request.args.get('e_id', None):
            return 'please  send the e_id'
        e_id = int(request.args['e_id'])

        if not set(
                request.json.keys()) == {'user_name', 'password', 'role_id'}:
            return jsonify({'message': 'missing keys'})

    #lower case the user_name
        if any(
                len(val.strip()) < 5 for val in request.json.values()
                if isinstance(val, str)):
            return jsonify({'message': 'Not adequate length of values'})

    #lower case the user_name
        user_name = request.json['user_name'].strip().lower()
        role_id = request.json['role_id']
        hashed_pass = hash_password(request.json['password'].encode())
        #get the user access_token
        user_access_token = gen_access_token(role_id, user_name)
        user = User(user_name=user_name,
                    password=hashed_pass,
                    role_id=role_id,
                    access_token=user_access_token.decode('utf-8'))
        try:
            emp = db_session.query(Employee).filter(Employee.id == e_id).one()

            db_session.add(user)
            emp.user = user
            db_session.add(emp)
            db_session.commit()
        except IntegrityError as ie:
            #hadle the error here
            return record_exists_envelop()

        except NoResultFound as e:
            return record_notfound_envelop()

        else:
            return jsonify({
                'message': 'user_added_successfully',
                'access_token': user_access_token.decode('utf-8'),
                'status': 'success'
            })
コード例 #11
0
def get_employee(id):
    try:
        emp = db_session.query(Employee).filter(Employee.id == id).one()
    except NoResultFound as e:
        return record_notfound_envelop()
    except Exception as e:
        return fatal_error_envelop()
    else:
        return record_json_envelop({
            'first_name':
            emp.first_name if emp.first_name else '',
            'middle_name':
            emp.middle_name if emp.middle_name else '',
            'last_name':
            emp.last_name if emp.last_name else '',
            ##this is asdas
            'current_sex':
            emp.current_sex if emp.current_sex else '',
            'date_of_birth':
            str(emp.date_of_birth) if emp.date_of_birth else '',
            'address_one':
            emp.address_one if emp.address_one else '',
            'address_two':
            emp.address_two if emp.address_two else '',
            'village':
            emp.village if emp.village else '',
            'llg':
            emp.llg if emp.llg else '',
            'district':
            emp.district if emp.district else '',
            'province':
            emp.province if emp.province else '',
            'region':
            emp.region if emp.region else '',
            'country':
            emp.country if emp.country else '',
            'email_address':
            emp.email_address if emp.email_address else '',
            'contact_number':
            emp.contact_number if emp.contact_number else '',
            'alt_contact_number':
            emp.alt_contact_number if emp.alt_contact_number else '',
            'age':
            emp.age if emp.age else '',
            'retirement_age':
            emp.retirement_age if emp.retirement_age else '',
            'employement_number':
            emp.employement_number if emp.employement_number else '',
            'salary_step':
            emp.salary_step if emp.salary_step else '',
            'date_of_commencement':
            str(emp.date_of_commencement) if emp.date_of_commencement else '',
            'contract_end_date':
            emp.contract_end_date if emp.contract_end_date else '',
            'id':
            emp.id if emp.id else '',
            'user_id':
            emp.user_id if emp.user_id else '',
            'sex_at_birth':
            emp.sex_at_birth if emp.sex_at_birth else '',
            'employee_type':
            emp.employee_type.display_name
            if emp.employee_type.display_name else '',
            'employee_category':
            emp.employee_category.name if emp.employee_category.name else '',
            'employee_position':
            emp.employee_position.emp_pos_title_display_name
            if emp.employee_position.emp_pos_title_display_name else '',
            'employee_agency_id':
            emp.employee_agency_id if emp.employee_agency_id else '',
            'employee_agency':
            emp.employee_agency.display_name if emp.employee_agency else '',
            'employee_type_id':
            emp.employee_type_id if emp.employee_type_id else '',
            'employee_position_id':
            emp.employee_position_id if emp.employee_position_id else '',
            'employee_category_id':
            emp.employee_category_id if emp.employee_category_id else '',
            'employee_status_id':
            emp.employee_status_id if emp.employee_status_id else '',
            'salutation':
            emp.salutation if emp.salutation else '',
            'other_name_one':
            emp.other_name_one if emp.other_name_one else '',
            'other_name_two':
            emp.other_name_two if emp.other_name_two else '',
            'other_name_three':
            emp.other_name_three if emp.other_name_three else '',
            'maiden_name':
            emp.maiden_name if emp.maiden_name else ''
        })