def feedback(fix): if request.method == 'POST': if (len(request.form["textFeedback"]) < 20) or (len( request.form["textNewTask"]) < 20): return render_template('fixes/wrong_feedback.jinja2', fix=fix) else: # Update feedback and create new fix # --- Updating feedback for current failed fix old_fix = Fix.get_fix_by_id(fix) old_fix.failed(request.form["textFeedback"]) # --- Creating new fix, add it to failure list new_fix = Fix(rack=old_fix.rack, failure=old_fix.failure, task=old_fix.task, category=Task.get_task_by_id(old_fix.task).category, description=request.form["textNewTask"], started_at=Utils.get_utc_time(), start_user=session['email']) new_fix.save_to_db() Failure.get_failure_by_id(old_fix.failure).add_fix(new_fix._id) tasks = [] # Empty list of task Object tasksid_list = Rack.get_rack_by_id(old_fix.rack).tasks for elem in tasksid_list: tasks.append(Task.get_task_by_id(elem)) return redirect(url_for('tasks.continue_test', rack=old_fix.rack)) else: actual_fix = Fix.get_fix_by_id(fix) return render_template('fixes/feedback.jinja2', fix=actual_fix)
def add_new_fix(rack, task, failure): # # If the input is less than 20 characters, create the FIX and render the rack_tasks again # if request.method == 'POST': if len(request.form["text"]) < 20: return render_template('fixes/wrong_fix_description.jinja2', task=task, rack=rack, failure=failure) fix = Fix(rack=rack, failure=failure, task=task, category=Task.get_task_by_id(task).category, description=request.form["text"], started_at=Utils.get_utc_time(), start_user=session['email']) fix.save_to_db() failure_to_update = Failure.get_failure_by_id(failure) failure_to_update.add_fix(fix._id) # If the fix was added successfuly, render again the rack_tasks rack_look_up = Rack.get_rack_by_id(rack) taskid_list = rack_look_up.tasks tasks = [] for elem in taskid_list: tasks.append(Task.get_task_by_id(elem)) return redirect(url_for('tasks.continue_test', rack=rack)) # This is for GET requests...to create create an aditional fix return render_template('fixes/add_fix.jinja2', failure=failure, rack=rack, task=task)
def create_report(rack, task): if request.method == 'POST': rack_to_test = Rack.get_rack_by_id(rack) node_number = request.form['node_number'] node_sn = request.form['node_sn'] chassis_number = request.form['chassis_number'] chassis_sn = request.form['chassis_sn'] failed_step = request.form['failed_step'] description = request.form['description'] badcomponent_sn = request.form['badcomponent_sn'] badcomponent_device = request.form['badcomponent_device'] badcomponent_replacement = request.form['badcomponent_replacement'] frecord = FRecord(rack=rack, task=task, start_user=session['email'], started_at=Utils.get_utc_time(), description=description, badcomponent_device=badcomponent_device, badcomponent_sn=badcomponent_sn, badcomponent_replacement=badcomponent_replacement, node_number=node_number, node_sn=node_sn, chassis_number=chassis_number, chassis_sn=chassis_sn, failed_step=failed_step) frecord.save_to_db() Task.get_task_by_id(task).failed(True) rack_to_test.failed_rack() return redirect(url_for('tasks.continue_test', rack=rack)) return render_template('frecords/create_report.jinja2', rack=rack, task=task)
def report(rack, task): if request.method == 'POST': if len(request.form["text"]) < 20: return render_template('failures/wrong_failure_description.jinja2', task=task, rack=rack) failure = Failure(rack=rack, category=Task.get_task_by_id(task).category, description=request.form["text"], task=task, started_at=Utils.get_utc_time(), start_user=session['email']) failure.save_to_db() rackobject = Rack.get_rack_by_id(rack) rackobject.failed_rack() taskobject = Task.get_task_by_id(task) taskobject.failed(failure._id) return redirect( url_for('fixes.add_new_fix', rack=rack, task=task, failure=failure._id)) return render_template('failures/report.jinja2', task=task, rack=rack)
def finish(self, user): self.status = "Finished" self.finished_at = Utils.get_utc_time() self.finish_user = user self.update_to_mongo()
def start(self, user): self.status = "Running" self.started_at = Utils.get_utc_time() self.start_user = user self.update_to_mongo()
def finish(self, user): self.solved = True self.finished_at = Utils.get_utc_time() self.finish_user = user self.update_to_mongo()
def passed(self, user): self.feedback = "PASSED" self.solution = True self.finish_user = user self.finished_at = Utils.get_utc_time() self.update_to_mongo()
def finish_feedback(self, feedback, user): self.feedback = feedback self.finish_user = user self.finished_at = Utils.get_utc_time() self.update_to_mongo()