diff --git a/flamenco/dashboard/application/__init__.py b/flamenco/dashboard/application/__init__.py index 70360de9..2bbddc38 100644 --- a/flamenco/dashboard/application/__init__.py +++ b/flamenco/dashboard/application/__init__.py @@ -85,12 +85,14 @@ def list_integers_string(string_list): from application.controllers.main import main from application.controllers.jobs import jobs from application.controllers.workers import workers +from application.controllers.managers import managers from application.controllers.settings import settings from application.controllers.projects import projects from application.controllers.render import render app.register_blueprint(main) app.register_blueprint(jobs, url_prefix='/jobs') app.register_blueprint(workers, url_prefix='/workers') +app.register_blueprint(managers, url_prefix='/managers') app.register_blueprint(settings, url_prefix='/settings') app.register_blueprint(projects, url_prefix='/projects') app.register_blueprint(render, url_prefix='/render') diff --git a/flamenco/dashboard/application/controllers/managers.py b/flamenco/dashboard/application/controllers/managers.py new file mode 100644 index 00000000..edd50362 --- /dev/null +++ b/flamenco/dashboard/application/controllers/managers.py @@ -0,0 +1,62 @@ +import json +from flask import (redirect, + render_template, + request, + url_for, + Blueprint) + +from application import app +from application import http_server_request + +BRENDER_SERVER = app.config['BRENDER_SERVER'] + +# Name of the Blueprint +managers = Blueprint('managers', __name__) + + +@managers.route('/') +def index(): + managers = http_server_request('get', '/managers') + managers_list = [] + + for key in managers: + val = managers[key] + val['checkbox'] = '' + managers_list.append({ + "DT_RowId": "manager_" + str(val['id']), + "0": val['checkbox'], + "1": key, + "2": val['uuid'], + "3": val['ip_address'], + "4": val['port'], + "5": val['connection'], + "6": val['id'], + }) + + entries = json.dumps(managers_list) + + return render_template('managers/index.html', + entries=entries, + title='managers') + + +@managers.route('/edit', methods=['POST']) +def edit(): + worker_ids = request.form['id'] + worker_status = request.form['status'].lower() + + #worker_config = {'system': 'linux', + # 'blender': 'local'} + params = dict(id=worker_ids, status=worker_status) + #'config': worker_config} + http_server_request('post', '/managers', params) + + return redirect(url_for('managers.index')) + + +@managers.route('/view/') +def view(manager_id): + manager = http_server_request('get', '/managers/{0}'.format(manager_id)) + return render_template('managers/view.html', manager=manager) + diff --git a/flamenco/dashboard/application/templates/layout.html b/flamenco/dashboard/application/templates/layout.html index 2aa60a08..3616c13b 100644 --- a/flamenco/dashboard/application/templates/layout.html +++ b/flamenco/dashboard/application/templates/layout.html @@ -74,6 +74,9 @@ {% block nav %} {% endblock %}