improved on sops generations on questions and added bot suggestion
This commit is contained in:
@@ -32,7 +32,7 @@ def generate_questions_from_sop():
|
||||
input_data = request.get_json()
|
||||
|
||||
# Validate required fields
|
||||
required_fields = ['sops', 'assessment_type', 'frequency_type', 'duration']
|
||||
required_fields = ['sops', 'assessment_type', 'frequency_type', 'duration',"roles_data"]
|
||||
for field in required_fields:
|
||||
if field not in input_data:
|
||||
return jsonify({"error": "Missing data", "message": f"'{field}' is required."}), 400
|
||||
@@ -43,13 +43,15 @@ def generate_questions_from_sop():
|
||||
assessment_type = input_data['assessment_type']
|
||||
frequency_type = input_data['frequency_type']
|
||||
duration = input_data['duration']
|
||||
roles_data = input_data["roles_data"]
|
||||
|
||||
# Prepare the data for the generator
|
||||
generator_input = {
|
||||
"sops": json.dumps(sops), # Convert SOPs to JSON string
|
||||
"assessment_type": assessment_type,
|
||||
"frequency_type": frequency_type,
|
||||
"duration": duration
|
||||
"duration": duration,
|
||||
"roles_data":roles_data
|
||||
}
|
||||
|
||||
# Call the generator to create questions
|
||||
|
||||
+27
-1
@@ -19,7 +19,7 @@ def allowed_file(filename):
|
||||
"""Check if the file has an allowed extension."""
|
||||
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
||||
|
||||
@sops_bp.route('/personal_assessment/get_roles', methods=['POST'])
|
||||
@sops_bp.route('/personal_assessment/get_roles_from_doc', methods=['POST'])
|
||||
def get_roles():
|
||||
# Check if the post request has the file part
|
||||
if 'document' not in request.files:
|
||||
@@ -62,6 +62,29 @@ def get_roles():
|
||||
|
||||
|
||||
|
||||
@sops_bp.route('/personal_assessment/get_roles_from_questionnaire', methods=['POST'])
|
||||
def get_roles_questionnaire():
|
||||
# Check if the post request has the file part
|
||||
questionnaire_data = request.json
|
||||
|
||||
# Validate the required fields in the questionnaire data
|
||||
if not questionnaire_data.get('vision') or not questionnaire_data.get('roles') or not questionnaire_data.get('responsibilities'):
|
||||
return jsonify({
|
||||
"error": "Missing required fields",
|
||||
"message": "Please provide 'vision', 'roles', and 'responsibilities' in the request body."
|
||||
}), 400
|
||||
|
||||
generator = SopPersonalAssessment()
|
||||
|
||||
roles = generator.generate_roles_from_questionnaire(questionnaire_data)
|
||||
|
||||
if not roles:
|
||||
return jsonify({"error": "No roles found", "message": "No roles were extracted from the questionnaire."}), 404
|
||||
|
||||
return jsonify({"roles": roles, "message": "Roles successfully extracted from the questionnaire."}), 200
|
||||
|
||||
|
||||
|
||||
|
||||
@sops_bp.route('/personal_assessment/generate_sops_from_doc', methods=['POST'])
|
||||
def generate_sops():
|
||||
@@ -180,6 +203,8 @@ def generate_sops_by_roles_and_areas():
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@sops_bp.route('/executive/generate_sop_mission_from_vision', methods=['POST'])
|
||||
def generate_executive_sops_from_doc():
|
||||
"""
|
||||
@@ -411,6 +436,7 @@ def get_roles_for_reference_workers():
|
||||
return jsonify({"error": "Processing error", "message": f"An error occurred while processing the request: {str(e)}"}), 500
|
||||
|
||||
|
||||
|
||||
@sops_bp.route('/manager/generate_sop_workers_doc', methods=['POST'])
|
||||
def generate_sop_workers_doc():
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user