This commit is contained in:
Jan Koppe 2024-02-25 23:19:01 +01:00
parent 2de6bd09d4
commit f3e314fbea
Signed by: thunfisch
GPG Key ID: BE935B0735A2129B
8 changed files with 265 additions and 79 deletions

View File

@ -5,6 +5,12 @@
{% load fontawesome_5 %} {% load fontawesome_5 %}
{% load guardian_tags %} {% load guardian_tags %}
{% block 'sidenav' %}
{% with 'stream' as section %}
{{ block.super }}
{% endwith %}
{% endblock %}
{% block 'content' %} {% block 'content' %}
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col"> <div class="col">

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: portier 0.6.0\n" "Project-Id-Version: portier 0.6.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-01 22:10+0000\n" "POT-Creation-Date: 2024-02-25 20:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Jan Koppe <post@jankoppe.de>\n" "Last-Translator: Jan Koppe <post@jankoppe.de>\n"
"Language-Team: German <post@chaoswest.tv>\n" "Language-Team: German <post@chaoswest.tv>\n"
@ -17,39 +17,49 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: portier/settings.py:139 #: portier/settings.py:141
msgid "German" msgid "German"
msgstr "Deutsch" msgstr "Deutsch"
#: portier/settings.py:140 #: portier/settings.py:142
msgid "English" msgid "English"
msgstr "Englisch" msgstr "Englisch"
#: restream/models.py:11 #: restream/models.py:16
msgid "restreamconfig_stream_help" msgid "restreamconfig_stream_help"
msgstr "Stream der als Quelle für die Weiterleitung verwendet wird" msgstr "Stream der als Quelle für die Weiterleitung verwendet wird"
#: restream/models.py:12 #: restream/models.py:17
msgid "restreamconfig_target_help" msgid "restreamconfig_target_help"
msgstr "Ziel URL an die der Stream weitergeleitet wird, inklusive Schema (z.B. rtmp://)" msgstr ""
"Ziel URL an die der Stream weitergeleitet wird, inklusive Schema (z.B. "
"rtmp://)"
#: restream/models.py:13 #: restream/models.py:18
msgid "restreamconfig_name_help" msgid "restreamconfig_name_help"
msgstr "Name für diese Restream Konfiguration" msgstr "Name für diese Restream Konfiguration"
#: restream/models.py:14 #: restream/models.py:19
msgid "restreamconfig_activate_help" msgid "restreamconfig_activate_help"
msgstr "Nur aktive Konfigurationen werden bei eingehenden Streams ausgeführt" msgstr "Nur aktive Konfigurationen werden bei eingehenden Streams ausgeführt"
#: restream/models.py:17 #: restream/models.py:20
#, fuzzy
#| msgid "restreamconfig_target_help"
msgid "restreamconfig_format_help"
msgstr ""
"Ziel URL an die der Stream weitergeleitet wird, inklusive Schema (z.B. "
"rtmp://)"
#: restream/models.py:23
msgid "restreamconfig_verbose_name" msgid "restreamconfig_verbose_name"
msgstr "Restream Konfiguration" msgstr "Restream Konfiguration"
#: restream/models.py:18 #: restream/models.py:24
msgid "restreamconfig_verbose_name_plural" msgid "restreamconfig_verbose_name_plural"
msgstr "Restream Konfigurationen" msgstr "Restream Konfigurationen"
#: restream/models.py:21 #: restream/models.py:27
msgid "restreamconfig_class_name" msgid "restreamconfig_class_name"
msgstr "Restream Konfiguration" msgstr "Restream Konfiguration"
@ -81,9 +91,9 @@ msgid "change"
msgstr "Ändern" msgstr "Ändern"
#: restream/templates/restream/restreamconfig_detail.html:28 #: restream/templates/restream/restreamconfig_detail.html:28
#: restream/templates/restream/restreamconfig_list.html:25 #: restream/templates/restream/restreamconfig_list.html:33
#: rtmp/templates/rtmp/stream_detail.html:28 #: rtmp/templates/rtmp/stream_detail.html:28
#: rtmp/templates/rtmp/stream_list.html:24 #: rtmp/templates/rtmp/stream_list.html:33
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
@ -92,7 +102,7 @@ msgid "stream"
msgstr "Stream" msgstr "Stream"
#: restream/templates/restream/restreamconfig_detail.html:32 #: restream/templates/restream/restreamconfig_detail.html:32
#: restream/templates/restream/restreamconfig_list.html:26 #: restream/templates/restream/restreamconfig_list.html:34
msgid "active" msgid "active"
msgstr "Aktiv" msgstr "Aktiv"
@ -133,17 +143,22 @@ msgid "restreamconfig_configuration_header"
msgstr "Restream Konfiguration" msgstr "Restream Konfiguration"
#: restream/templates/restream/restreamconfig_list.html:16 #: restream/templates/restream/restreamconfig_list.html:16
#: rtmp/templates/rtmp/stream_list.html:15 #: rtmp/templates/rtmp/stream_list.html:16
msgid "create" msgid "create"
msgstr "Erstellen" msgstr "Erstellen"
#: restream/templates/restream/restreamconfig_list.html:27 #: restream/templates/restream/restreamconfig_list.html:26
#: rtmp/templates/rtmp/stream_list.html:26 #: rtmp/templates/rtmp/stream_list.html:26
msgid "loading..."
msgstr ""
#: restream/templates/restream/restreamconfig_list.html:35
#: rtmp/templates/rtmp/stream_list.html:35
msgid "actions" msgid "actions"
msgstr "Aktionen" msgstr "Aktionen"
#: restream/templates/restream/restreamconfig_list.html:44 #: restream/templates/restream/restreamconfig_list.html:52
#: rtmp/templates/rtmp/stream_list.html:43 #: rtmp/templates/rtmp/stream_list.html:46
msgid "details" msgid "details"
msgstr "Details" msgstr "Details"
@ -234,11 +249,11 @@ msgstr ""
msgid "create_new_stream_configuration_header" msgid "create_new_stream_configuration_header"
msgstr "Neue Stream Konfiguration erstellen" msgstr "Neue Stream Konfiguration erstellen"
#: rtmp/templates/rtmp/stream_list.html:10 #: rtmp/templates/rtmp/stream_list.html:11
msgid "stream_configuration_header" msgid "stream_configuration_header"
msgstr "Stream Konfiguration" msgstr "Stream Konfiguration"
#: rtmp/templates/rtmp/stream_list.html:25 #: rtmp/templates/rtmp/stream_list.html:34
msgid "receiving" msgid "receiving"
msgstr "Empfange" msgstr "Empfange"
@ -246,35 +261,47 @@ msgstr "Empfange"
msgid "update_stream_configuration_header" msgid "update_stream_configuration_header"
msgstr "Stream Konfiguration anpassen" msgstr "Stream Konfiguration anpassen"
#: templates/base.html:40 #: templates/base.html:39
msgid "navbar_streaming"
msgstr "Streaming"
#: templates/base.html:43
msgid "navbar_configuration_streams"
msgstr "Streams"
#: templates/base.html:44
msgid "navbar_configuration_restreams"
msgstr "Restreams"
#: templates/base.html:51
#, python-format #, python-format
msgid "hello_%(username)s" msgid "hello_%(username)s"
msgstr "Hallo, %(username)s!" msgstr "Hallo, %(username)s!"
#: templates/base.html:54 #: templates/base.html:42
msgid "navbar_account_password_change" msgid "navbar_account_password_change"
msgstr "Passwort ändern" msgstr "Passwort ändern"
#: templates/base.html:55 #: templates/base.html:43
msgid "navbar_account_logout" msgid "navbar_account_logout"
msgstr "Abmelden" msgstr "Abmelden"
#: templates/base.html:59 #: templates/base.html:47
msgid "navbar_login" msgid "navbar_login"
msgstr "Anmelden" msgstr "Anmelden"
#: templates/base.html:80
msgid "navbar_configuration_pull"
msgstr "Pull"
#: templates/base.html:83
msgid "navbar_configuration_stream"
msgstr "Stream"
#: templates/base.html:86
msgid "navbar_configuration_restream"
msgstr "Restream"
#: templates/base.html:89
msgid "navbar_configuration_publish"
msgstr "Publish"
#: templates/base.html:92
msgid "navbar_configuration_record"
msgstr "Record"
#: templates/base.html:95
msgid "navbar_configuration_switch"
msgstr "Switch"
#: templates/registration/login.html:5 templates/registration/login.html:14 #: templates/registration/login.html:5 templates/registration/login.html:14
msgid "login" msgid "login"
msgstr "Anmelden" msgstr "Anmelden"
@ -307,3 +334,6 @@ msgstr ""
"Du hast dein Passwort vergessen? Kein Problem. Gib hier die E-mail Adresse " "Du hast dein Passwort vergessen? Kein Problem. Gib hier die E-mail Adresse "
"deines Nutzerkonto an, und wir schicken dir einen Link zu mit dem du ein " "deines Nutzerkonto an, und wir schicken dir einen Link zu mit dem du ein "
"neues Passwort setzen kannst." "neues Passwort setzen kannst."
#~ msgid "navbar_streaming"
#~ msgstr "Streaming"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: portier 0.6.0\n" "Project-Id-Version: portier 0.6.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-01 22:10+0000\n" "POT-Creation-Date: 2024-02-25 20:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Jan Koppe <post@jankoppe.de>\n" "Last-Translator: Jan Koppe <post@jankoppe.de>\n"
"Language-Team: english <post@chaoswest.tv>\n" "Language-Team: english <post@chaoswest.tv>\n"
@ -17,39 +17,49 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: portier/settings.py:139 #: portier/settings.py:141
msgid "German" msgid "German"
msgstr "German" msgstr "German"
#: portier/settings.py:140 #: portier/settings.py:142
msgid "English" msgid "English"
msgstr "English" msgstr "English"
#: restream/models.py:11 #: restream/models.py:16
msgid "restreamconfig_stream_help" msgid "restreamconfig_stream_help"
msgstr "Stream that's being used as source for the restreaming" msgstr "Stream that's being used as source for the restreaming"
#: restream/models.py:12 #: restream/models.py:17
msgid "restreamconfig_target_help" msgid "restreamconfig_target_help"
msgstr "Target url that the stream is being restreamed to, including schema (e.g. rtmp://)" msgstr ""
"Target url that the stream is being restreamed to, including schema (e.g. "
"rtmp://)"
#: restream/models.py:13 #: restream/models.py:18
msgid "restreamconfig_name_help" msgid "restreamconfig_name_help"
msgstr "Name for this restream configuration" msgstr "Name for this restream configuration"
#: restream/models.py:14 #: restream/models.py:19
msgid "restreamconfig_activate_help" msgid "restreamconfig_activate_help"
msgstr "Only active configurations will be executed for incoming streams" msgstr "Only active configurations will be executed for incoming streams"
#: restream/models.py:17 #: restream/models.py:20
#, fuzzy
#| msgid "restreamconfig_target_help"
msgid "restreamconfig_format_help"
msgstr ""
"Target url that the stream is being restreamed to, including schema (e.g. "
"rtmp://)"
#: restream/models.py:23
msgid "restreamconfig_verbose_name" msgid "restreamconfig_verbose_name"
msgstr "Restream configuration" msgstr "Restream configuration"
#: restream/models.py:18 #: restream/models.py:24
msgid "restreamconfig_verbose_name_plural" msgid "restreamconfig_verbose_name_plural"
msgstr "Restream configurations" msgstr "Restream configurations"
#: restream/models.py:21 #: restream/models.py:27
msgid "restreamconfig_class_name" msgid "restreamconfig_class_name"
msgstr "Restream configuration" msgstr "Restream configuration"
@ -80,9 +90,9 @@ msgid "change"
msgstr "Change" msgstr "Change"
#: restream/templates/restream/restreamconfig_detail.html:28 #: restream/templates/restream/restreamconfig_detail.html:28
#: restream/templates/restream/restreamconfig_list.html:25 #: restream/templates/restream/restreamconfig_list.html:33
#: rtmp/templates/rtmp/stream_detail.html:28 #: rtmp/templates/rtmp/stream_detail.html:28
#: rtmp/templates/rtmp/stream_list.html:24 #: rtmp/templates/rtmp/stream_list.html:33
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
@ -91,7 +101,7 @@ msgid "stream"
msgstr "Stream" msgstr "Stream"
#: restream/templates/restream/restreamconfig_detail.html:32 #: restream/templates/restream/restreamconfig_detail.html:32
#: restream/templates/restream/restreamconfig_list.html:26 #: restream/templates/restream/restreamconfig_list.html:34
msgid "active" msgid "active"
msgstr "Active" msgstr "Active"
@ -131,17 +141,22 @@ msgid "restreamconfig_configuration_header"
msgstr "Restream configuration" msgstr "Restream configuration"
#: restream/templates/restream/restreamconfig_list.html:16 #: restream/templates/restream/restreamconfig_list.html:16
#: rtmp/templates/rtmp/stream_list.html:15 #: rtmp/templates/rtmp/stream_list.html:16
msgid "create" msgid "create"
msgstr "Create" msgstr "Create"
#: restream/templates/restream/restreamconfig_list.html:27 #: restream/templates/restream/restreamconfig_list.html:26
#: rtmp/templates/rtmp/stream_list.html:26 #: rtmp/templates/rtmp/stream_list.html:26
msgid "loading..."
msgstr ""
#: restream/templates/restream/restreamconfig_list.html:35
#: rtmp/templates/rtmp/stream_list.html:35
msgid "actions" msgid "actions"
msgstr "Actions" msgstr "Actions"
#: restream/templates/restream/restreamconfig_list.html:44 #: restream/templates/restream/restreamconfig_list.html:52
#: rtmp/templates/rtmp/stream_list.html:43 #: rtmp/templates/rtmp/stream_list.html:46
msgid "details" msgid "details"
msgstr "Details" msgstr "Details"
@ -232,11 +247,11 @@ msgstr ""
msgid "create_new_stream_configuration_header" msgid "create_new_stream_configuration_header"
msgstr "Create new stream configuration" msgstr "Create new stream configuration"
#: rtmp/templates/rtmp/stream_list.html:10 #: rtmp/templates/rtmp/stream_list.html:11
msgid "stream_configuration_header" msgid "stream_configuration_header"
msgstr "Stream configuration" msgstr "Stream configuration"
#: rtmp/templates/rtmp/stream_list.html:25 #: rtmp/templates/rtmp/stream_list.html:34
msgid "receiving" msgid "receiving"
msgstr "Receiving" msgstr "Receiving"
@ -244,35 +259,47 @@ msgstr "Receiving"
msgid "update_stream_configuration_header" msgid "update_stream_configuration_header"
msgstr "Change stream configuration" msgstr "Change stream configuration"
#: templates/base.html:40 #: templates/base.html:39
msgid "navbar_streaming"
msgstr "Streaming"
#: templates/base.html:43
msgid "navbar_configuration_streams"
msgstr "Streams"
#: templates/base.html:44
msgid "navbar_configuration_restreams"
msgstr "Restreams"
#: templates/base.html:51
#, python-format #, python-format
msgid "hello_%(username)s" msgid "hello_%(username)s"
msgstr "Hello, %(username)s!" msgstr "Hello, %(username)s!"
#: templates/base.html:54 #: templates/base.html:42
msgid "navbar_account_password_change" msgid "navbar_account_password_change"
msgstr "Change password" msgstr "Change password"
#: templates/base.html:55 #: templates/base.html:43
msgid "navbar_account_logout" msgid "navbar_account_logout"
msgstr "Logout" msgstr "Logout"
#: templates/base.html:59 #: templates/base.html:47
msgid "navbar_login" msgid "navbar_login"
msgstr "Login" msgstr "Login"
#: templates/base.html:80
msgid "navbar_configuration_pull"
msgstr "Pull"
#: templates/base.html:83
msgid "navbar_configuration_stream"
msgstr "Stream"
#: templates/base.html:86
msgid "navbar_configuration_restream"
msgstr "Restream"
#: templates/base.html:89
msgid "navbar_configuration_publish"
msgstr "Publish"
#: templates/base.html:92
msgid "navbar_configuration_record"
msgstr "Record"
#: templates/base.html:95
msgid "navbar_configuration_switch"
msgstr "Switch"
#: templates/registration/login.html:5 templates/registration/login.html:14 #: templates/registration/login.html:5 templates/registration/login.html:14
msgid "login" msgid "login"
msgstr "Login" msgstr "Login"
@ -305,3 +332,6 @@ msgstr ""
"Did you forget your password? No worries. Enter the e-mail address of your " "Did you forget your password? No worries. Enter the e-mail address of your "
"user account here. We will send an e-mail with a link to you, which you can " "user account here. We will send an e-mail with a link to you, which you can "
"use to reset the password." "use to reset the password."
#~ msgid "navbar_streaming"
#~ msgstr "Streaming"

View File

@ -0,0 +1,49 @@
# Generated by Django 5.0.2 on 2024-02-25 13:49
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("rtmp", "0005_auto_20200531_0951"),
]
operations = [
migrations.AlterModelOptions(
name="application",
options={
"verbose_name": "application_verbose_name",
"verbose_name_plural": "application_verbose_name_plural",
},
),
migrations.AlterField(
model_name="application",
name="name",
field=models.CharField(
help_text="rtmp_application_name", max_length=100, unique=True
),
),
migrations.AlterField(
model_name="stream",
name="application",
field=models.ForeignKey(
help_text="stream_application_help",
on_delete=django.db.models.deletion.CASCADE,
to="rtmp.application",
),
),
migrations.AlterField(
model_name="stream",
name="name",
field=models.CharField(help_text="stream_name_help", max_length=100),
),
migrations.AlterField(
model_name="stream",
name="stream",
field=models.UUIDField(
default=uuid.uuid4, help_text="stream_stream_help", unique=True
),
),
]

View File

@ -0,0 +1,39 @@
# Generated by Django 5.0.2 on 2024-02-25 20:26
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rtmp', '0006_alter_application_options_alter_application_name_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='application',
options={'verbose_name': 'RTMP application', 'verbose_name_plural': 'RTMP applications'},
),
migrations.AlterField(
model_name='application',
name='name',
field=models.CharField(help_text='RTMP application name', max_length=100, unique=True),
),
migrations.AlterField(
model_name='stream',
name='application',
field=models.ForeignKey(help_text='Application which the stream is assigned to', on_delete=django.db.models.deletion.CASCADE, to='rtmp.application'),
),
migrations.AlterField(
model_name='stream',
name='name',
field=models.CharField(help_text='Name for this stream', max_length=100),
),
migrations.AlterField(
model_name='stream',
name='stream',
field=models.UUIDField(default=uuid.uuid4, help_text='Stream ID for this stream', unique=True),
),
]

View File

@ -82,8 +82,42 @@
</nav> </nav>
</header> </header>
<main class="container" roles="main"> <main class="container" roles="main">
{% block 'content' %} {% if user.is_authenticated %}
{% endblock %} {% block 'sidenav' %}
<div class="row">
<div class="col-md-2 col-sm-4 border-right">
<nav>
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link{% if not perms.rtmp.add_stream %} disabled{% endif %}{% if section == "stream" %} active {% endif %}" href="{% url 'rtmp:stream_list' %}">{% fa5_icon 'dot-circle' %} {% trans "navbar_configuration_stream" %}</a>
</li>
<li class="nav-item">
<a class="nav-link{% if not perms.restream.add_restreamconfig %} disabled{% endif %}" href="{% url 'restream:restreamconfig_list' %}">{% fa5_icon 'expand-arrows-alt' %} {% trans "navbar_configuration_restream" %}</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="{% url 'rtmp:stream_list' %}">{% fa5_icon 'compress-arrows-alt' %} {% trans "navbar_configuration_pull" %}</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="{% url 'rtmp:stream_list' %}">{% fa5_icon 'broadcast-tower' %} {% trans "navbar_configuration_publish" %}</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="{% url 'rtmp:stream_list' %}">{% fa5_icon 'hdd' %} {% trans "navbar_configuration_record" %}</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="{% url 'rtmp:stream_list' %}">{% fa5_icon 'random' %} {% trans "navbar_configuration_switch" %}</a>
</li>
</ul>
</nav>
</div>
<div class="col">
{% endblock %}
{% endif %}
{% block 'content' %}
{% endblock %}
{% if user.is_authenticated %}
</div>
</div>
{% endif %}
</main> </main>
<footer class="text-muted"> <footer class="text-muted">
<div class="container"> <div class="container">

View File

@ -2,7 +2,7 @@
{% load i18n %} {% load i18n %}
{% load bootstrap4 %} {% load bootstrap4 %}
{% block 'content' %} {% block 'content' %}
<h6>{% trans "login" %}</h6> <h5>{% trans "login" %}</h5>
<hr class="my-4"> <hr class="my-4">
<div class="row"> <div class="row">
<div class="col-sm border-right"> <div class="col-sm border-right">

View File

@ -2,10 +2,10 @@
{% load i18n %} {% load i18n %}
{% load bootstrap4 %} {% load bootstrap4 %}
{% block 'content' %} {% block 'content' %}
<h6>{% trans "change_password" %}</h6> <h4>{% trans "change_password" %}</h4>
<hr class="my-4"> <hr class="my-4">
<div class="row"> <div class="row">
<div class="col-sm border-right"> <div class="col">
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
{% bootstrap_form form %} {% bootstrap_form form %}
@ -17,7 +17,5 @@
<input type="hidden" name="next" value="{{ next }}"> <input type="hidden" name="next" value="{{ next }}">
</form> </form>
</div> </div>
<div class="col-sm">
</div>
</div> </div>
{% endblock %} {% endblock %}