def put(self): claims = get_jwt_claims() data = _student_parser.parse_args() for key in data.keys(): if str(data[key]).lower() in ('none', 'null', ''): data[key] = None dt = datetime.now().strftime("%Y-%m-%d, %H:%M:%S") data["modified_date"] = dt data["modified_by"] = claims["email"] student_id = data.get("student_id") student_name = data.get("student_name") student_aadhar = data.get("aadhar") if student_id: student = StudentModel.find_by_student_id(student_id) elif student_aadhar: student = StudentModel.find_by_student_aadhar(student_aadhar) elif student_name: student = StudentModel.find_by_student_name(student_name) else: return {"message": "Missing student key fields"}, 404 try: if student: student.set_attribute(data) else: student = StudentModel(**data) student.save_to_db() return student.json() except Exception as ex: return {"message": f"Error updating student data. {repr(ex)}"}, 403
def get(self): data = request.args print(data) data = data.to_dict(flat=False) claims = get_jwt_claims() student_kalika_kendra_name = None student_kalika_kendra_id = None student_cluster_name = None student_cluster_id = None if not claims['is_admin']: user_email = claims['email'] if claims['teacher_code']: teacher = TeacherModel.find_by_teacher_code( claims['teacher_code']) student_kalika_kendra_id = teacher.kalika_kendra_id print(student_kalika_kendra_id) else: return { 'message': 'User do not have permission. Contact admin.' }, 401 student_id = data.get("student_id") student_name = data.get("student_name") student_aadhar = data.get("aadhar") print(data) if student_id: student = StudentModel.find_by_student_id(student_id) if student_aadhar: student = StudentModel.find_by_student_aadhar(student_aadhar) if student_name: student = StudentModel.find_by_student_name(student_name) if student: print(student.kalika_kendra_id) if claims['is_admin'] or (str(student.kalika_kendra_id).__eq__( str(student_kalika_kendra_id))): return student.json() else: return { 'message': 'User not authorized to view other Kalika Kendra data.' }, 401 else: return {"message": "Student not found"}, 404
def delete(self): claims = get_jwt_claims() if not claims['is_admin']: return {'message': 'Admin privilege required.'}, 401 data = _student_parser.parse_args() student_id = data.get("student_id") student_name = data.get("student_name") student_aadhar = data.get("aadhar") if student_id: student = StudentModel.find_by_student_id(student_id) elif student_aadhar: student = StudentModel.find_by_student_aadhar(student_aadhar) elif student_name: student = StudentModel.find_by_student_name(student_name) else: return {"message": "Missing student key fields"}, 404 if student: student.delete_from_db() return {'message': 'Student deleted.'} return {'message': 'Student not found.'}, 404