diff --git a/jobs.py b/jobs.py index a410e4a152d06d0e5d3514c4d32a5f8fd01e8130..10aca972fdc7237a1b4d4c27162e824cdab3c05d 100644 --- a/jobs.py +++ b/jobs.py @@ -163,3 +163,12 @@ def jobs_schedule(hostname): return 'no jobs', 503 return Response(json.dumps(job, default=date_json_handler), mimetype='application/json') + +@app.route('/internal/jobs/add/forward', methods=['GET', 'POST']) +@mod_required +@csrf_protect +def add_forward_job(): + schedule_job('live_forward', {'src': request.values['src'], + 'dest': request.values['dest']}, priority=9) + return redirect(request.values.get('ref', url_for('jobs_overview'))) + diff --git a/templates/jobs_overview.html b/templates/jobs_overview.html index 7fbe92d403c4c20034d68779ec1301fe74561c34..635e2d218f5a388d15502367525c6ba429a49b13 100644 --- a/templates/jobs_overview.html +++ b/templates/jobs_overview.html @@ -13,9 +13,10 @@ </div> <div class="modal-body"> <ul class="nav nav-tabs" role="tablist"> - <li role="presentation" class="active"><a href="#add_thumbnail" aria-controls="thumbnail" role="tab" data-toggle="tab">Thumbnail</a></li> - <li role="presentation"><a href="#add_remux" aria-controls="remux" role="tab" data-toggle="tab">Remux</a></li> - <li role="presentation"><a href="#add_reencode" aria-controls="remux" role="tab" data-toggle="tab">Reencode</a></li> + <li role="presentation" class="active"><a href="#add_thumbnail" role="tab" data-toggle="tab">Thumbnail</a></li> + <li role="presentation"><a href="#add_remux" role="tab" data-toggle="tab">Remux</a></li> + <li role="presentation"><a href="#add_reencode" role="tab" data-toggle="tab">Reencode</a></li> + <li role="presentation"><a href="#add_forward" role="tab" data-toggle="tab">Stream-Weiterleitung</a></li> </ul> <div class="tab-content" style="margin-top: 10px;"> <div role="tabpanel" class="tab-pane active" id="add_thumbnail"> @@ -48,6 +49,15 @@ </div> </form> </div> + <div role="tabpanel" class="tab-pane" id="add_forward"> + <form class="form-inline" action="{{url_for('add_forward_job', ref=request.url)}}" method="post"> + <div class="form-group"> + <input type="text" class="form-control" placeholder="Quelle" name="src"> + <input type="text" class="form-control" placeholder="Ziel" name="dest"> + <button type="submit" class="btn btn-primary">Livestream weiterleiten</button> + </div> + </form> + </div> </div> </div> <div class="modal-footer">