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 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
|
||||
|
||||
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
|
||||
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__)
|
||||
|
||||
@@ -10,21 +11,18 @@ logger = logging.getLogger(__name__)
|
||||
# Function that generates a token depending on unsername and masterpassword
|
||||
# The masterpassword must be 32 characters long!
|
||||
def create_token(username, masterpassword):
|
||||
|
||||
padded_username = username.ljust(32, ':')
|
||||
|
||||
padded_username = username.ljust(32, ":")
|
||||
token = bytearray()
|
||||
|
||||
# xor connect with masterpassword to create token
|
||||
for i in range(32):
|
||||
token.append(ord(padded_username[i]) ^ ord(masterpassword[i]))
|
||||
|
||||
str_token = token.hex()
|
||||
return str_token
|
||||
return token.hex()
|
||||
|
||||
|
||||
@authenticated_user
|
||||
def index(request):
|
||||
username = request.user
|
||||
context = {
|
||||
"mctoken": "",
|
||||
"valid_master_pwd": True
|
||||
@@ -36,7 +34,7 @@ def index(request):
|
||||
context["valid_master_pwd"] = False
|
||||
logger.error("Masterpassword must be 32 characters long")
|
||||
else:
|
||||
token = create_token(str(username), masterpassword)
|
||||
token = create_token(str(request.user), masterpassword)
|
||||
context["mctoken"] = token
|
||||
|
||||
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 = [
|
||||
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/<int:pk>/done/",
|
||||
|
||||
@@ -9,13 +9,15 @@
|
||||
<div class="container mx-auto w-full px-4 my-8 flex-1">
|
||||
<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 %}
|
||||
<h2>Dein persömlicher Token für den Minecraft-Server:</h2>
|
||||
<p>{{ mctoken }}</p>
|
||||
<p>Dein persönlicher Token für den Minecraft-Server: {{ mctoken }}</p>
|
||||
{% else %}
|
||||
<h2>Ups... Das hat nicht geklappt!</h2>
|
||||
<p>Bitte informiere einen Admin!</p>
|
||||
<p>Ups... Das hat nicht geklappt! Bitte informiere einen Admin!</p>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
||||
{% endblock content %}
|
||||
|
||||
Reference in New Issue
Block a user