Esempio n. 1
0
 def get(self):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': 'User not authorized to view'}
     try:
         # data = _organization_parser.parse_args()
         data = request.args
         organization_name = data.get("organization_name")
         organization_desc = data.get("organization_desc")
         organization_id = data.get("organization_id")
         # isactive = data.get("isactive")
         if organization_id:
             organizations = OrganizationModel.find_by_organization_id(
                 organization_id)
         elif organization_name:
             organizations = OrganizationModel.find_by_organization_name(
                 organization_name)
         elif organization_desc:
             organizations = OrganizationModel.find_by_organization_desc(
                 organization_desc)
         else:
             organizations = OrganizationModel.find_all()
     except:
         organizations = OrganizationModel.find_all()
     finally:
         if len(organizations) > 0:
             resp = []
             for organization in organizations:
                 resp.append(organization.json())
             return resp, 200
         return {'message': 'Organization not found'}, 404
Esempio n. 2
0
 def delete(self):
     claims = get_jwt_claims()
     if not claims['is_super_admin']:
         return {'message': 'Super Admin privilege required.'}, 412
     data = _organization_parser.parse_args()
     try:
         organization_name = data["organization_name"]
     except Exception as e:
         return {
             "message": f"Organization name missing. {organization_name}"
         }
     organization = OrganizationModel.find_by_organization_name(
         organization_name)[0]
     if organization:
         organization.delete_from_db()
         return {'message': 'Organization deleted.'}, 200
     return {'message': 'Organization not found.'}, 404
Esempio n. 3
0
 def put(self):
     claims = get_jwt_claims()
     if not claims['is_super_admin']:
         return {'message': 'Super Admin privilege required.'}, 412
     data = _organization_parser.parse_args()
     for key in data.keys():
         if str(data[key]).lower() in ('none', 'null', ''):
             data[key] = None
     try:
         organization_name = data["organization_name"]
     except Exception as e:
         return {"message": f"Organization name required. {repr(e)}"}
     organization = OrganizationModel.find_by_organization_name(
         organization_name)[0]
     if organization:
         organization.set_attribute(data)
     else:
         organization = OrganizationModel(**data)
     organization.save_to_db()
     return organization.json(), 201
Esempio n. 4
0
 def set_attribute(self, payload):
     cols = [
         'status', 'first_name', 'last_name', 'gender', 'password',
         'mobile', 'designation', 'image', 'type', 'authtoken',
         'teacher_code', 'bloodgroup', 'user_role_id', 'organization_id'
     ]
     for col in cols:
         if col in payload.keys():
             setattr(self, col, payload[col])
     if payload.get('user_role_name'):
         user_role = UserRoleModel.find_by_role_name(
             payload['user_role_name'])
         self.user_role_id = user_role.id
     if payload.get('organization_name'):
         organization = OrganizationModel.find_by_organization_name(
             payload['organization_name'])
         self.organization_id = organization.id
     if 'password' in payload.keys():
         self.password = md5(str(
             payload['password']).encode('UTF-8')).hexdigest()
Esempio n. 5
0
    def post(self):
        claims = get_jwt_claims()
        if not claims['is_super_admin']:
            return {'message': 'Super Admin privilege required.'}, 412
        data = _organization_parser.parse_args()
        try:
            organization_name = data["organization_name"]
        except Exception as e:
            return {'message': f"Organization Name missing. {repr(e)}"}

        if OrganizationModel.find_by_organization_name(organization_name):
            return {
                'message':
                f"An Organization with name '{organization_name}' already exists."
            }, 400
        organization = OrganizationModel(**data)
        try:
            organization.save_to_db()
        except Exception as e:
            return {
                "message":
                f"An error occurred inserting the organization. Error: {repr(e)}"
            }, 500
        return organization.json(), 201
Esempio n. 6
0
 def find_by_any(cls, **kwargs):
     cols = [
         'id', 'email', 'status', 'first_name', 'last_name', 'gender',
         'mobile', 'designation', 'type', 'teacher_code', 'bloodgroup',
         'organization_id', 'user_role_id', 'organization_name',
         'user_role_name'
     ]
     filter_str = 'cls.query'
     if 'id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(_id="' + str(
             kwargs['id']) + '")'
     if 'email' in kwargs.keys():
         filter_str = filter_str + '.filter_by(email="' + str(
             kwargs['email']) + '")'
     if 'status' in kwargs.keys():
         filter_str = filter_str + '.filter_by(status="' + str(
             kwargs['status']) + '")'
     if 'first_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(first_name="' + str(
             kwargs['first_name']) + '")'
     if 'last_name' in kwargs.keys():
         filter_str = filter_str + '.filter_by(last_name="' + str(
             kwargs['last_name']) + '")'
     if 'gender' in kwargs.keys():
         filter_str = filter_str + '.filter_by(gender="' + str(
             kwargs['gender']) + '")'
     if 'mobile' in kwargs.keys():
         filter_str = filter_str + '.filter_by(mobile="' + str(
             kwargs['mobile']) + '")'
     if 'designation' in kwargs.keys():
         filter_str = filter_str + '.filter_by(designation="' + str(
             kwargs['designation']) + '")'
     if 'type' in kwargs.keys():
         filter_str = filter_str + '.filter_by(type="' + str(
             kwargs['type']) + '")'
     if 'teacher_code' in kwargs.keys():
         filter_str = filter_str + '.filter_by(teacher_code="' + str(
             kwargs['teacher_code']) + '")'
     if 'bloodgroup' in kwargs.keys():
         filter_str = filter_str + '.filter_by(bloodgroup="' + str(
             kwargs['bloodgroup']) + '")'
     if 'organization_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(organization_id="' + str(
             kwargs['organization_id']) + '")'
     if 'user_role_id' in kwargs.keys():
         filter_str = filter_str + '.filter_by(user_role_id="' + str(
             kwargs['user_role_id']) + '")'
     if 'user_role_name' in kwargs.keys():
         user_role = UserRoleModel.find_by_role_name(
             kwargs['user_role_name'])
         if user_role:
             user_role_id = user_role[0].id
             filter_str = filter_str + '.filter_by(user_role_id="' + str(
                 user_role_id) + '")'
     if 'organization_name' in kwargs.keys():
         organization = OrganizationModel.find_by_organization_name(
             kwargs['organization_name'])
         if organization:
             organization_id = organization[0].id
             filter_str = filter_str + '.filter_by(organization_id="'\
                          + str(organization_id) + '")'
     filter_str = filter_str + '.all()'
     return eval(filter_str)