Compare commits
6 Commits
b5af399ca1
...
245679da83
| Author | SHA1 | Date | |
|---|---|---|---|
| 245679da83 | |||
| a724d07b96 | |||
| e6b6bdbf12 | |||
| ec3c15e5a1 | |||
| a3ffde3206 | |||
| 2b25ad30af |
@@ -43,6 +43,9 @@ RUN mkdir -p ./etherpad
|
|||||||
RUN touch ./etherpad/APIKEY.txt
|
RUN touch ./etherpad/APIKEY.txt
|
||||||
RUN echo "haDF223lfaH79823qwSSdF" >> ./etherpad/APIKEY.txt
|
RUN echo "haDF223lfaH79823qwSSdF" >> ./etherpad/APIKEY.txt
|
||||||
|
|
||||||
|
# Update the mode of the file in linux.
|
||||||
|
RUN if [ "$(uname -s)" = "Linux" ] && [ -f ./docker-entrypoint.sh ]; then chmod +x ./docker-entrypoint.sh; fi
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
ENTRYPOINT ["./docker-entrypoint.sh"]
|
ENTRYPOINT ["./docker-entrypoint.sh"]
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2025-10-23 16:25
|
||||||
|
|
||||||
|
import django.db.models.deletion
|
||||||
|
import finance.validators
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('finance', '0003_alter_bill_bill_creator'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='bankdata',
|
||||||
|
name='address',
|
||||||
|
field=models.TextField(blank=True, verbose_name='Adresse'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bill',
|
||||||
|
name='affiliation',
|
||||||
|
field=models.CharField(choices=[('V', 'Vereinsbudget'), ('B', 'Wiref-Budget'), ('R', 'Bundesvertretung')], max_length=1, verbose_name='Abrechnungsbudget'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bill',
|
||||||
|
name='bankdata',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='finance.bankdata', verbose_name='Bankdaten'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bill',
|
||||||
|
name='comment',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bill',
|
||||||
|
name='file_field',
|
||||||
|
field=models.FileField(blank=True, null=True, upload_to='uploads/finance/bills/', validators=[finance.validators.validate_bill_file_extension]),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bill',
|
||||||
|
name='status',
|
||||||
|
field=models.CharField(choices=[('S', 'Eingereicht'), ('I', 'Unvollständig / Abgelehnt'), ('C', 'Für Überweisung freigegeben'), ('F', 'Abgeschlossen / Überwiesen')], default='S', max_length=1, verbose_name='Status'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='wiref',
|
||||||
|
name='wiref_id',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=10),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2025-10-23 16:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('intern', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='attachment',
|
||||||
|
name='description',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='topic',
|
||||||
|
name='description',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='topicgroup',
|
||||||
|
name='short_description',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2025-10-23 16:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('members', '0005_alter_job_options_job_order_alter_member_username'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='member',
|
||||||
|
name='address',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='member',
|
||||||
|
name='birthday',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='member',
|
||||||
|
name='phone',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='jobgroup',
|
||||||
|
name='description',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='member',
|
||||||
|
name='description',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
import logging
|
import logging
|
||||||
from django.shortcuts import render
|
|
||||||
from authentications.decorators import authenticated_user
|
|
||||||
from django.conf import settings
|
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
from authentications.decorators import authenticated_user
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -10,21 +11,18 @@ logger = logging.getLogger(__name__)
|
|||||||
# Function that generates a token depending on unsername and masterpassword
|
# Function that generates a token depending on unsername and masterpassword
|
||||||
# The masterpassword must be 32 characters long!
|
# The masterpassword must be 32 characters long!
|
||||||
def create_token(username, masterpassword):
|
def create_token(username, masterpassword):
|
||||||
|
padded_username = username.ljust(32, ":")
|
||||||
padded_username = username.ljust(32, ':')
|
|
||||||
|
|
||||||
token = bytearray()
|
token = bytearray()
|
||||||
|
|
||||||
# xor connect with masterpassword to create token
|
# xor connect with masterpassword to create token
|
||||||
for i in range(32):
|
for i in range(32):
|
||||||
token.append(ord(padded_username[i]) ^ ord(masterpassword[i]))
|
token.append(ord(padded_username[i]) ^ ord(masterpassword[i]))
|
||||||
|
|
||||||
str_token = token.hex()
|
return token.hex()
|
||||||
return str_token
|
|
||||||
|
|
||||||
|
|
||||||
@authenticated_user
|
@authenticated_user
|
||||||
def index(request):
|
def index(request):
|
||||||
username = request.user
|
|
||||||
context = {
|
context = {
|
||||||
"mctoken": "",
|
"mctoken": "",
|
||||||
"valid_master_pwd": True
|
"valid_master_pwd": True
|
||||||
@@ -36,7 +34,7 @@ def index(request):
|
|||||||
context["valid_master_pwd"] = False
|
context["valid_master_pwd"] = False
|
||||||
logger.error("Masterpassword must be 32 characters long")
|
logger.error("Masterpassword must be 32 characters long")
|
||||||
else:
|
else:
|
||||||
token = create_token(str(username), masterpassword)
|
token = create_token(str(request.user), masterpassword)
|
||||||
context["mctoken"] = token
|
context["mctoken"] = token
|
||||||
|
|
||||||
return render(request, "minecraft/index.html", context)
|
return render(request, "minecraft/index.html", context)
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
# Generated by Django 5.2.7 on 2025-10-23 16:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('posts', '0005_remove_post_is_hidden'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='post',
|
||||||
|
name='imported_from',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='post',
|
||||||
|
name='legacy_rubrik_id',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='post',
|
||||||
|
name='agenda_key',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=200),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='post',
|
||||||
|
name='body',
|
||||||
|
field=models.TextField(blank=True, default=''),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='post',
|
||||||
|
name='event_place',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=200),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='post',
|
||||||
|
name='protocol_key',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=200),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='post',
|
||||||
|
name='subtitle',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=500),
|
||||||
|
),
|
||||||
|
migrations.DeleteModel(
|
||||||
|
name='Category',
|
||||||
|
),
|
||||||
|
]
|
||||||
Binary file not shown.
@@ -7,7 +7,7 @@ app_name = apps.RentalConfig.name
|
|||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("rental_calendar.ics", views.rental_calendar, name="calendar"),
|
path("rental_calendar.ics", views.rental_calendar, name="calendar"),
|
||||||
path("rental/", RentalListView.as_view(), name="index"),
|
path("overview/", RentalListView.as_view(), name="index"),
|
||||||
path("request-rental/", RentalCreateView.as_view(), name="rental_create"),
|
path("request-rental/", RentalCreateView.as_view(), name="rental_create"),
|
||||||
path(
|
path(
|
||||||
"request-rental/<int:pk>/done/",
|
"request-rental/<int:pk>/done/",
|
||||||
|
|||||||
@@ -9,13 +9,15 @@
|
|||||||
<div class="container mx-auto w-full px-4 my-8 flex-1">
|
<div class="container mx-auto w-full px-4 my-8 flex-1">
|
||||||
<h1 class="page-title">Minecraft</h1>
|
<h1 class="page-title">Minecraft</h1>
|
||||||
|
|
||||||
|
<div class="flex flex-col gap-y-8 max-w-prose mx-auto text-gray-700 dark:text-gray-300">
|
||||||
|
|
||||||
{% if valid_master_pwd %}
|
{% if valid_master_pwd %}
|
||||||
<h2>Dein persömlicher Token für den Minecraft-Server:</h2>
|
<p>Dein persönlicher Token für den Minecraft-Server: {{ mctoken }}</p>
|
||||||
<p>{{ mctoken }}</p>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<h2>Ups... Das hat nicht geklappt!</h2>
|
<p>Ups... Das hat nicht geklappt! Bitte informiere einen Admin!</p>
|
||||||
<p>Bitte informiere einen Admin!</p>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
{% endblock %}
|
{% endblock content %}
|
||||||
|
|||||||
Reference in New Issue
Block a user