def update_emp_relativetype(id): if not request.json: abort(400) #check to see if there is any empty values if not all( len(str(val).strip()) >= 1 for val in request.json.values() if isinstance(val, str)): abort(411) #check to see if the request has the right type of keys #clearn up the values for string #generator expression cleaned_json = dict( (key, val.strip()) if isinstance(val, str) else (key, val) for key, val in request.json.items()) if 'name' in cleaned_json: cleaned_json['display_name'] = cleaned_json['name'] cleaned_json['name'] = cleaned_json['name'].strip().lower() #try to executre try: db_session.query(EmployeeRelativeType).filter( EmployeeRelativeType.id == id).update(cleaned_json) db_session.commit() except IntegrityError as e: return record_exists_envelop() except Exception as e: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def add_password_policy(): if not request.json: return abort(400) db_fields = set(col.name for col in PasswordPolicy.__mapper__.columns) extra_keys = set(request.json.keys()) - (db_fields - {'id'}) if extra_keys: return jsonify({ 'Message': 'Extra Keys : %r' % ', '.join(col for col in extra_keys) }) try: _bool_mapper = lambda s: 0 if s == 'false' else 1 _json = { key: _bool_mapper(val) if val in ('true', 'false') else val for key, val in request.json.items() } db_session.query(PasswordPolicy).filter( PasswordPolicy.id == 1).update(_json) db_session.commit() except NoResultFound as e: abort(404) except Exception as e: abort(500) else: return record_updated_envelop(request.json)
def update_agencytype(id): if not request.json: abort(400) #check to see if ther eis empty field if not all(len(val.strip()) >= 1 for val in request.json.values()\ if isinstance(val, str)): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].lower().strip() if 'code' in request.json: request.json['code'] = request.json['code'].strip() try: db_session.query(AgencyType).filter(AgencyType.id == id).update( request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_rank(id): if not request.json: abort(400) if 'name' in request.json: request.json['display_name'] = request.json['name'] request.json['name'] = request.json['name'].lower().strip() #now try to update the facilty name try: db_session.query(EmployeeCategoryRank).filter(EmployeeCategoryRank.id==id).update(request.json) db_session.commit() except NoResultFound as e: abort(404) except IntegrityError as e: return record_exists_envelop() except Exception as e: raise abort(500) else: return record_updated_envelop(request.json)
def delete_facility_type(f_id): if not request.json: abort(401) try: db_session.query(FacilityType).filter(FacilityType.id == f_id).update( {'del_flag': True}) db_session.commit() except NoResultFound as e: return record_notfound_envelop() else: return record_deleted_envelop()
def update_employee_education(e_id, id): if not request.json: abort(400) try: db_session.query(EmployeeEducation).filter( EmployeeEducation.id == id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_institute(id): if not request.json: abort(400) try: db_session.query(Institute).filter(Institute.id == id).update( request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_qualification_by_emp(emp_id, q_id): #this is me if not request.json: abort(400) try: db_session.query(Qualification).filter( Qualification.id == q_id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_lang_by_emp(id, l_id): if not request.json: abort(400) try: db_session.query(EmployeeLanguage).filter( EmployeeLanguage.id == l_id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_qualificationnames(id): if not request.json: abort(400) try: db_session.query(QualificationName).filter( QualificationName.id == id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_user(u_id): if not request.json: abort(400) if not request.args.get('action') == 'update_role': if 'password' not in request.json.keys(): return missing_keys_envelop() try: user = db_session.query(User).filter(User.id == u_id).one() if user is None: return record_notfound_envelop() hashed_pass = hash_password(request.json['password'].encode()) old_hashed_pass = user.password if old_hashed_pass == hashed_pass: return jsonify({ 'message': 'Please dont\'t use old password', 'status': 'fail' }) else: user.password = hashed_pass db_session.add(user) db_session.commit() except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() else: return record_updated_envelop('Password updated Successfully.') #update the role if 'role_id' not in request.json: return missing_keys_envelop() try: user = db_session.query(User).filter(User.id == u_id).one() if user is None: return record_notfound_envelop() user.role_id = int(request.json['role_id']) db_session.add(user) db_session.commit() except NoResultFound as e: return record_notfound_envelop() except Exception as e: raise return fatal_error_envelop() else: return record_updated_envelop('Role updated successfully.')
def get_facilitytypes(): try: fts = db_session.query(FacilityType).all() except NoResultFound: return record_notfound_envelop() else: return records_json_envelop(list(ft.to_dict() for ft in fts))
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())
def get_agencytypes(): try: ats = db_session.query(AgencyType).all() except NoResultFound: return record_notfound_envelop() else: return records_json_envelop(list(a.to_dict() for a in ats))
def wrapper(*args, **kwargs): if 'Token' not in request.headers: return unauthorized_envelop() try: decoded = decode_access_token(request.headers['Token']) print(decoded) if decoded is None: return unauthorized_envelop() except Exception as e: raise e return unauthorized_envelop() else: user_name = decoded['user_name'] try: user = db_session.query(User).filter( User.user_name == user_name).one() role = user.role role = role.to_dict()[key] except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() if role != 'N': return func(*args, **kwargs) else: print('as') return unauthorized_envelop()
def wrapper(*args, **kwargs): if 'Token' not in request.headers: return unauthorized_envelop() try: decoded = decode_access_token(request.headers['Token']) print(decoded) if decoded is None: return unauthorized_envelop() except Exception as e: raise e return unauthorized_envelop() else: role_id = decoded['role_id'] user_name = decoded['user_name'] if role_id not in current_app.config: roles = db_session.query(Role).all() roles = [role.to_dict() for role in roles] for role in roles: current_app.config[role['id']] = role role = current_app.config[role_id][key] print('role is ', role) if role != 'N': return func(*args, **kwargs) else: print('as') return unauthorized_envelop()
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 jsonify({ '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 '', 'sex': emp.sex if emp.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 '', 'employee_branch_id': emp.employee_branch_id if emp.employee_branch_id else '' })
def get_qualifications_by_emp(id): try: qls = db_session.query(Qualification).filter( Qualification.employee_id == id).all() except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() else: quals = ({ 'id': q.id, 'name': q.qualification_name.name if q.qualification_name else '', 'institute_name': q.institute_name if q.institute_name else '', 'city': q.city if q.city else '', 'state': q.state if q.state else '', 'province': q.province if q.province else '', 'country': q.country if q.country else '', 'start_date': str(q.start_date) if q.start_date else '', 'end_date': str(q.end_date) if q.end_date else '', 'qualification_name_id': q.qualification_name_id, 'qualification_name': q.qualification_name.name if q.qualification_name else '' } for q in qls) return records_json_envelop(list(quals))
def get_divpositions_by_facdiv(f_id): try: if 'position_title' not in request.args: dvs = db_session.query(DivisionPosition).filter( DivisionPosition.fac_div_id == f_id).all() else: dvs = db_session.query(DivisionPosition).filter(DivisionPosition.fac_div_id == f_id).\ filter(DivisionPosition.position_title==request.args['position_title']).all() except NoResultFound: return record_notfound_envelop() except Exception: return fatal_error_envelop() else: return records_json_envelop(list(dv.to_dict() for dv in dvs))
def get_empextras_by_emp(id): try: trs = db_session.query(EmployeeExtra).filter( EmployeeExtra.employee_id == id).all() except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() else: trs = ({ '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 '' } for q in trs) return records_json_envelop(list(trs))
def update_certification_by_emp(emp_id, c_id): if not request.json: abort(400) #try to executre try: db_session.query(Certification).filter( Certification.id == c_id).update(dict(cleaned_json)) db_session.commit() except IntegrityError as e: return record_exists_envelop() except Exception as e: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_rank(id): if not request.json: abort(400) if 'name' not in request.json.keys(): abort(401) #now try to update the facilty name name = request.json['name'].lower().strip() display_name = request.json['name'].strip() try: rank = db_session.query(EmployeeCategoryRank).filter( EmployeeCategoryRank.id == id).one() rank.name = name rank.display_name = display_name db_session.add(rank) db_session.commit() except NoResultFound as e: abort(404) except IntegrityError as e: return record_exists_envelop() except Exception as e: abort(500) else: return record_updated_envelop(request.json)
def update_emp_category(id): if not request.json: abort(400) name = request.json.get('name', None) emp_cat_rank_id = request.json.get('emp_cat_rank_id', None) #now try to update the facilty name if name is not None: name = request.json['name'].lower().strip() display_name = request.json['name'].strip() try: cat = db_session.query(EmployeeCategory).filter( EmployeeCategory.id == id).one() if name is not None: cat.name = name cat.display_name = display_name if emp_cat_rank_id is not None: cat.emp_cat_rank_id = emp_cat_rank_id db_session.add(cat) db_session.commit() except NoResultFound as e: abort(404) except IntegrityError as e: return record_exists_envelop() except Exception as e: abort(500) else: return record_updated_envelop(request.json)
def update_emp_type(id): if not request.json: abort(400) name = request.json.get('name', None) #now try to update the facilty name if name is not None: name = request.json['name'].lower().strip() display_name = request.json['name'].strip() try: typ = db_session.query(EmployeeType).filter( EmployeeType.id == id).one() if name is not None: typ.name = name typ.display_name = display_name db_session.add(typ) db_session.commit() except NoResultFound as e: abort(404) except IntegrityError as e: return record_exists_envelop() except Exception as e: abort(500) else: return record_updated_envelop(request.json)
def handle_branch(branch, emp_branch_id, role_id, user_name, func, *args, **kwargs): print('hdnle branch callsed') if ROLES_PERMISSION[role_id]['permission_two'] == True: return func(*args, **kwargs) else: print('asdasdasdasdasdasd') #go ahead and check the permission that if he can edit for his/her own branch or not if ROLES_PERMISSION[role_id]['permission_four'] == True: try: user = db_session.query(User).filter( User.user_name == user_name).one() emp = user.employee if emp is None: return unauthorized_envelop() except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() else: print('yeasdsadsad') employee_branch_id = emp.employee_branch_id print(employee_branch_id, emp_branch_id) if employee_branch_id == emp_branch_id: print('yeahs') return func(*args, **kwargs) else: return unauthorized_envelop() else: return unauthorized_envelop()
def wrapper(*args, **kwargs): if 'Token' not in request.headers: return unauthorized_envelop() try: decoded = decode_access_token(request.headers.get('token')) if decoded is None: return unauthorized_envelop() except Exception as e: return unauthorized_envelop() else: #role_id = decoded['role_id'] user_name = decoded['user_name'] try: user = db_session.query(User).filter( User.user_name == user_name).one() role = user.role role = role.to_dict()[key] except NoResultFound as e: return record_notfound_envelop() except Exception as e: return fatal_error_envelop() else: if role == 'W' or role == 'E': return func(*args, **kwargs) else: return unauthorized_envelop()
def update_region(id): if not request.json: abort(400) if 'name' not in request.json.keys(): abort(401) #now try to update the facilty name name = request.json['name'].replace(' ', '').lower().strip() display_name = request.json['name'].strip() try: facility = db_session.query(Region).filter(Region.id == id).one() facility.name = name facility.display_name = display_name db_session.add(facility) db_session.commit() except NoResultFound as e: abort(404) except IntegrityError as e: return record_exists_envelop() except Exception as e: abort(500) else: return record_updated_envelop(request.json)
def get_llg(): try: llgs = db_session.query(LLG).order_by(LLG.name).all() gen_exp = (dict(name=f.display_name, id=f.id) for f in llgs) return records_json_envelop(list(gen_exp)) except Exception as e: return fatal_error_envelop()
def get_regions(): try: provinces = db_session.query(Region).order_by(Region.name).all() gen_exp = (dict(name=f.display_name, id=f.id) for f in provinces) return records_json_envelop(list(gen_exp)) except Exception as e: return fatal_error_envelop()
def get_districts(): try: districts = db_session.query(District).order_by(District.name).all() gen_exp = (dict(name=f.display_name, id=f.id) for f in districts) return records_json_envelop(list(gen_exp)) except Exception as e: return fatal_error_envelop()