parent
792dea5f8e
commit
dec740308f
|
@ -19,7 +19,7 @@ from app.utils.util import get_form_from_request, exception_handle
|
|||
from app.models import Case, Project, Module, Scene, HTTPCase, SSHCase, SQLCase, Dispatcher, DispatcherDetail, Report, \
|
||||
SubElementInLogicController, LogicController, IfController, WhileController, LoopController, SimpleController, \
|
||||
Scheduler, DingTalkRobotSetting, DingTalkRobotSettingAssociationProject, DebugCase, Tool, TimerTool, ScriptTool, \
|
||||
VariableDefinitionTool
|
||||
VariableDefinitionTool, EmailReceiverSetting, EmailReceiverSettingAssociationProject
|
||||
from app.template_global import render_to_json
|
||||
from app.extensions import http_cookie_manager, dispatcher_scheduler
|
||||
from app.template_global import sort_by_order_in_project, sort_by_order_in_module, sort_by_order_in_logic_controller
|
||||
|
@ -1178,6 +1178,8 @@ def get_project_list_data():
|
|||
'create_time': str(project.create_time),
|
||||
'last_updated_time': str(project.last_updated_time),
|
||||
'stop_on_error': project.project_advanced_configuration.stop_on_error,
|
||||
'ding_talk_notify': project.project_advanced_configuration.ding_talk_notify,
|
||||
'email_notify': project.project_advanced_configuration.email_notify,
|
||||
'use_scheduler': use_scheduler,
|
||||
'cron': cron,
|
||||
})
|
||||
|
@ -1257,6 +1259,10 @@ def modify_project_config():
|
|||
if not exist: return form_id
|
||||
exist, form_stop_on_error = get_form_from_request(request, 'stop_on_error')
|
||||
if not exist: return form_stop_on_error
|
||||
exist, form_ding_talk_notify = get_form_from_request(request, 'ding_talk_notify')
|
||||
if not exist: return form_ding_talk_notify
|
||||
exist, form_email_notify = get_form_from_request(request, 'email_notify')
|
||||
if not exist: return form_email_notify
|
||||
exist, form_use_scheduler = get_form_from_request(request, 'use_scheduler')
|
||||
if not exist: return form_use_scheduler
|
||||
exist, form_cron = get_form_from_request(request, 'cron')
|
||||
|
@ -1268,7 +1274,11 @@ def modify_project_config():
|
|||
'error_no': -1,
|
||||
'error_msg': '未找到该项目数据,项目id: %s' % form_id,
|
||||
})
|
||||
project.project_advanced_configuration.update(stop_on_error=form_stop_on_error.lower() == 'true')
|
||||
project.project_advanced_configuration.update(
|
||||
stop_on_error=form_stop_on_error.lower() == 'true',
|
||||
ding_talk_notify=form_ding_talk_notify.lower() == 'true',
|
||||
email_notify=form_email_notify.lower() == 'true',
|
||||
)
|
||||
# 设置定时任务
|
||||
job_id = 'project-' + form_id
|
||||
enable = form_use_scheduler.lower() == 'true'
|
||||
|
@ -2642,3 +2652,112 @@ def delete_ding_talk_robot_setting():
|
|||
'error_no': 0,
|
||||
'error_msg': '',
|
||||
})
|
||||
|
||||
|
||||
@bp.route('/setting/email_receiver_setting/get', methods=['POST'])
|
||||
def get_email_receiver_setting():
|
||||
try:
|
||||
email_receiver_settings = EmailReceiverSetting.query.all()
|
||||
ret = []
|
||||
for email_receiver_setting in email_receiver_settings:
|
||||
association_projects = EmailReceiverSettingAssociationProject.query.filter_by(setting_id=email_receiver_setting.id).all()
|
||||
projects = [row.project_id for row in association_projects]
|
||||
ret.append({
|
||||
'id': email_receiver_setting.id,
|
||||
'enable': email_receiver_setting.enable,
|
||||
'name': email_receiver_setting.name,
|
||||
'address': email_receiver_setting.address,
|
||||
'projects': projects,
|
||||
})
|
||||
except Exception as e:
|
||||
exception_handle(current_app, e)
|
||||
return jsonify({
|
||||
'error_no': -1,
|
||||
'error_msg': '错误信息 [' + repr(e) + ']',
|
||||
})
|
||||
else:
|
||||
return jsonify(ret)
|
||||
|
||||
|
||||
@bp.route('/setting/email_receiver_setting/add', methods=['POST'])
|
||||
def add_email_receiver_setting():
|
||||
exist, form_enable = get_form_from_request(request, 'enable')
|
||||
if not exist: return form_enable
|
||||
exist, form_projects = get_form_from_request(request, 'projects')
|
||||
if not exist: return form_projects
|
||||
exist, form_name = get_form_from_request(request, 'name')
|
||||
if not exist: return form_name
|
||||
exist, form_address = get_form_from_request(request, 'address')
|
||||
if not exist: return form_address
|
||||
try:
|
||||
projects = json.loads(form_projects)
|
||||
EmailReceiverSetting.add(
|
||||
enable=form_enable.lower() == 'true',
|
||||
name=form_name,
|
||||
address=form_address,
|
||||
projects=projects,
|
||||
)
|
||||
except Exception as e:
|
||||
exception_handle(current_app, e)
|
||||
return jsonify({
|
||||
'error_no': -1,
|
||||
'error_msg': '错误信息 [' + repr(e) + ']',
|
||||
})
|
||||
else:
|
||||
return jsonify({
|
||||
'error_no': 0,
|
||||
'error_msg': '',
|
||||
})
|
||||
|
||||
|
||||
@bp.route('/setting/email_receiver_setting/modify', methods=['POST'])
|
||||
def modify_email_receiver_setting():
|
||||
exist, form_id = get_form_from_request(request, 'id')
|
||||
if not exist: return form_id
|
||||
exist, form_enable = get_form_from_request(request, 'enable')
|
||||
if not exist: return form_enable
|
||||
exist, form_projects = get_form_from_request(request, 'projects')
|
||||
if not exist: return form_projects
|
||||
exist, form_name = get_form_from_request(request, 'name')
|
||||
if not exist: return form_name
|
||||
exist, form_address = get_form_from_request(request, 'address')
|
||||
if not exist: return form_address
|
||||
try:
|
||||
projects = json.loads(form_projects)
|
||||
EmailReceiverSetting.modify(
|
||||
id=form_id,
|
||||
enable=form_enable.lower() == 'true',
|
||||
name=form_name,
|
||||
address=form_address,
|
||||
projects=projects,
|
||||
)
|
||||
except Exception as e:
|
||||
exception_handle(current_app, e)
|
||||
return jsonify({
|
||||
'error_no': -1,
|
||||
'error_msg': '错误信息 [' + repr(e) + ']',
|
||||
})
|
||||
else:
|
||||
return jsonify({
|
||||
'error_no': 0,
|
||||
'error_msg': '',
|
||||
})
|
||||
|
||||
|
||||
@bp.route('/setting/email_receiver_setting/delete', methods=['POST'])
|
||||
def delete_email_receiver_setting():
|
||||
exist, form_id = get_form_from_request(request, 'id')
|
||||
if not exist: return form_id
|
||||
try:
|
||||
EmailReceiverSetting.delete(id=form_id)
|
||||
except Exception as e:
|
||||
exception_handle(current_app, e)
|
||||
return jsonify({
|
||||
'error_no': -1,
|
||||
'error_msg': '错误信息 [' + repr(e) + ']',
|
||||
})
|
||||
else:
|
||||
return jsonify({
|
||||
'error_no': 0,
|
||||
'error_msg': '',
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue