Пример #1
0
def create_division(t_id):
    if not request.json:
        abort(400)
    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    _result = {'name', 'code'} - set(request.json.keys())
    if _result:
        return keys_require_envelop('Key: %r is require' % ', '.join(_result))

    request.json['display_name'] = request.json['name'].strip()
    request.json['name'] = request.json['name'].strip().lower()

    #inject the id
    request.json['division_type_id'] = t_id
    try:
        db_session.add(Division(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #2
0
def create_employee_extra(id):
    #cheek to see if ther is json
    if not request.json:
        abort(400)
    #if there is json,  if there are required fields
    required_keys = set(col.name for col in EmployeeExtra.__mapper__.columns) - {'id', 'employee_id'}
    
    
    #keys from the rquest object
    result = request.json.keys() - required_keys
    
    #if there is extra remaining keys , abort
    if result:
        return extra_keys_envelop('keys not accepeted %r' % result)
    
    #check to see if there are any valuekjdhflkjadsfaklsdhfkajsds less than 1
    if not all(len(str(val).strip())>=1 for val in request.json.values()):
        return length_require_envelop()
    #clearn up the dictionary
    json_vals = {key : val.strip() if isinstance(val, str) else val for key, val in request.json.items()}
    
    #try to insert to database
    try:
        db_session.add(EmployeeExtra(**json_vals, employee_id=id))
        db_session.commit()
    except IntegrityError as e:
        
        return record_exists_envelop()
    except Exception as e:
        raise e
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json) 
Пример #3
0
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)
Пример #4
0
def create_emp_position():
    if not request.json:
        abort(401)
    required_fields = set(col.name for col in EmployeePosition.__mapper__.columns) - {'id', 'emp_pos_title_display_name', 'del_flag'}
    
    extra_fields = set(request.json) - required_fields
    if extra_fields:
        return extra_keys_envelop('Unknown Keys : %s' % ', '.join(key for key in extra_fields))
    
    _required = required_fields - set(request.json)

    if _required:
       return missing_keys_envelop('Required Keys : %s' % ', '.join(key for key in _required))
    
    #check to see if there is any blank 

    if not all(len(val.strip()) >= 1 for key, val in request.json.items() if isinstance(val, str)):
        return length_require_envelop()
    #inject 
    
    request.json['emp_pos_title_display_name'] = request.json['emp_pos_title']
    request.json['emp_pos_title'] = request.json['emp_pos_title'].lower().strip()
    #initiate the dession
    try:
        e_type = EmployeePosition(**request.json)
        db_session.add(e_type)
        db_session.commit()
    except IntegrityError as e:
        return record_exists_envelop()
    except Exception as e:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #5
0
def create_division_types():
    if not request.json:
        abort(400)
    #empty check
    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    _result = {'name'} - set(request.json.keys())
    if _result:
        return keys_require_envelop('key : name is required')

    request.json['display_name'] = request.json['name'].strip()
    request.json['name'] = request.json['name'].strip().lower()

    try:
        db_session.add(DivisionTypeSetup(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #6
0
def add_company_detail():

    if not set(request.json.keys()) == {
            'name', 'currency_symbol', 'is_prefix', 'country', 'description'
    }:
        return missing_keys_envelop()
    if len(request.json['name']) < 4 or len(
            request.json['country']) < 3 or len(
                request.json['currency_symbol']) < 1:
        return length_require_envelop()

    #now shape up the fields
    name = request.json['name'].strip()
    currency_symbol = request.json['currency_symbol'].lower().strip()
    is_prefix = request.json['is_prefix']
    country = request.json['country'].strip()
    des = request.json['description'].strip()

    company = CompanyDetail(name=name,
                            currency_symbol=currency_symbol,
                            is_prefix=is_prefix,
                            country=country,
                            description=des)

    try:
        db_session.add(company)
        db_session.commit()
    except IntegrityError as e:
        return record_exists_envelop()
    else:
        return record_created_envelop(request.json)
Пример #7
0
        def _wrapper(*args, **kwargs):

            fields_db = set(col.name for col in model.__mapper__.columns)
            if not request.json:
                abort(400)
            required_keys = fields_db - set(_exclude) if _exclude else set()
            result = request.json.keys() - required_keys
            if result:
                return extra_keys_envelop('Keys not Accepeted %r' % (', '.join(key for key in result)))
            #check if there are any missing keys
            
            if not all(len(str(val).strip()) >= 1 for val in request.json.values()):
                return length_require_envelop()
            #everythin is okay return the function
            return func(*args, **kwargs)
Пример #8
0
def create_langauge():
    if not request.json:
        abort(400)
    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    try:
        db_session.add(Language(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #9
0
def create_employee_addresses(e_id):
    if not request.json:
        abort(400)
    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    request.json['employee_id'] = e_id
    try:
        db_session.add(EmployeeAddress(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #10
0
def update_division_position(id):
    if not request.json:
        abort(400)

    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    try:
        db_session.query(DivisionPosition).filter(
            DivisionPosition.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)
Пример #11
0
def create_facilities_by_facility_type(f_id):
    if not request.json:
        abort(400)

    #check to see if there is empty fileds
    if not all(len(val.strip()) >= 1 for val in request.json.values()\
                                                if isinstance(val, str)):
        return length_require_envelop()

    #now see if if mandatory fields are not provided

    _required_keys = {
        'district_id', 'province_id', 'region_id', 'agency_id',
        'facility_name', 'facility_code'
    }

    _remaining = _required_keys - set(request.json.keys())
    if _remaining:
        return keys_require_envelop('Missing Keys %s' % ', '.join(_remaining))

    #now change facility display_name
    request.json['facility_display_name'] = request.json[
        'facility_name'].strip()
    request.json['facility_name'] = request.json['facility_name'].lower(
    ).strip()

    #now inject the facility type id
    request.json['facility_type_id'] = f_id

    #now initiate the session
    try:
        db_session.add(Facility(**request.json))
        db_session.commit()
    except IntegrityError:

        return record_exists_envelop()
    except Exception:

        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #12
0
def create_division_position():
    '''This will create a new position for each individual division inside the facilitiy'''

    if not request.json:
        abort(400)

    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()
    #now make the request
    try:
        db_session.add(DivisionPosition(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:

        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #13
0
def update_agency(a_id):

    #checck to see if there is json data
    if not request.json:
        abort(400)
    db_fields = set(
        col.name for col in Branch.__mapper__.columns) - {'id', 'is_branch'}
    result = set(request.json.keys()) - db_fields
    if result:
        return extra_keys_envelop('Keys not accepted %r' %
                                  (', '.join(key for key in result)))

    #now check if there are any missing values whose length is less than 2
    if not all(len(str(val).strip()) >= 1 for val in request.json.values()):
        return length_require_envelop()

    json_request = dict(copy.deepcopy(request.json))

    facility_display_name = request.json.get('facility_name', None)
    if facility_display_name is not None:

        facility_name = facility_display_name.strip().replace(' ', '').lower()
        json_request['facility_name'] = facility_name
        json_request['facility_display_name'] = facility_display_name.strip()

    inner = ', '.join('{:s} = {!r}'.format(key, val)
                      for key, val in json_request.items())
    query = '''UPDATE branches SET {:s} where id = {:d}'''.format(inner, a_id)
    print(query)

    with engine.connect() as con:
        try:
            con.execute(query)
        except IntegrityError as e:
            return record_exists_envelop()
        except Exception as e:
            raise
            return fatal_error_envelop()
        else:
            return record_updated_envelop(json_request)
Пример #14
0
def update_facility_division(f_id, fd_id):
    if not request.json:
        abort(400)

    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    #inject the value into the json

    try:
        db_session.query(FacilityDivision).filter(
            FacilityDivision.id == fd_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)
Пример #15
0
def create_agency():
    if not request.json:
        abort(400)
    #check to see if there is empty fields
    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()

    try:
        db_session.add(Agency(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_envelop_envelop()
    else:
        return record_created_envelop(request.json)
Пример #16
0
def create_facility_type():
    if not request.json:
        abort(400)
    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'].strip().lower()

    try:
        db_session.add(FacilityType(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:

        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #17
0
        def wrapper(*args, **kwargs):
            if not request.json:
                abort(400)

            db_fields = set(col.name for col in model.__mapper__.columns)
            required_fields = db_fields - set(
                exclude) if exclude is not None else set()

            result = set(request.json.keys()) - required_fields
            if result:
                return extra_keys_envelop('Keys not accepted : {!r}'.format(
                    ',  '.join(key for key in result)))

            #now check if there are empty fields

            if not all(
                    len(str(val).strip()) >= 1
                    for val in request.json.values()):
                return length_require_envelop()

            #if everythin is fine then return the function
            return func(*args, **kwargs)
Пример #18
0
def create_emp_apptype():

    #lower case the facility name
    if not request.json:
        abort(400)
    if 'name' not in request.json:
        return missing_keys_envelop()
    if not all(len(val.strip()) >= 1 for key, val in request.json.items()):
        return length_require_envelop()

    request.json['display_name'] = request.json['name']
    request.json['name'] = request.json['name'].strip().lower()
    #insert into the database
    try:
        rel = EmployeeAppraisalType(**request.json)
        db_session.add(rel)
        db_session.commit()
    except IntegrityError as ie:
        return record_exists_envelop()

    else:
        return record_created_envelop(request.json)
Пример #19
0
def update_divisions_by_type(t_id, id):
    if not request.json:
        abort(400)

    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()
    if 'name' in request.json:
        request.json['display_name'] = request.json['name'].strip()
        request.json['name'] = request.json['name'].strip().lower()

    try:
        db_session.query(Division).filter(Division.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)
Пример #20
0
def update_agency(id):
    if not request.json:
        abort(400)

    if not all(len(val.strip()) >= 1 for val in request.json.values()):
        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(Agency).filter(Agency.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)
Пример #21
0
def create_facility_division(f_id):
    if not request.json:
        abort(400)
    if 'fac_div_name' not in request.json:
        return keys_require_envelop()

    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, unicode)):
        return length_require_envelop()

    #inject the value into the json
    request.json['facility_id'] = f_id

    try:
        db_session.add(FacilityDivision(**request.json))
        db_session.commit()
    except IntegrityError:

        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)
Пример #22
0
def lengthrequired(error):
    return length_require_envelop(), 411
Пример #23
0
def create_agencytypes():
    """
    This is used to create a new agency type.
    Call this api to create a new agency type.
    ---
    tags:
      - Create a Agency Type
    parameters:
      - name: language
        in: path
        type: string
        required: true
        description: The language name
      - name: size
        in: query
        type: integer
        description: size of awesomeness
    responses:
      500:
        description: Error The language is not awesome!
      200:
        description: A language with its awesomeness
        schema:
          id: awesome
          properties:
            language:
              type: string
              description: The language name
              default: Lua
            features:
              type: array
              description: The awesomeness list
              items:
                type: string
              default: ["perfect", "simple", "lovely"]

    """
    if not request.json:
        abort(400)
    #check for the empty fields
    if not all(
            len(val.strip()) >= 1
            for val in request.json.values() if isinstance(val, str)):
        return length_require_envelop()
    #now check if there is any extra keys
    from_db = set(request.json.keys()) - {'name', 'code', 'del_flag'}
    if from_db:
        return extra_keys_envelop('Extra keys : %s' % ', '.join(from_db))

    required_keys = {'name', 'code'} - set(request.json.keys())
    if required_keys:
        return keys_require_envelop('Keys required : %s' %
                                    ', '.join(required_keys))

    #if everythin is fine
    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.add(AgencyType(**request.json))
        db_session.commit()
    except IntegrityError:
        return record_exists_envelop()
    except Exception:
        return fatal_error_envelop()
    else:
        return record_created_envelop(request.json)