impolementation of standardised time zone
Release Inventarsystem / release-docker (push) Successful in 2m17s
Release Inventarsystem / release-docker (push) Successful in 2m17s
This commit is contained in:
@@ -33,6 +33,7 @@ import json
|
||||
import Web.modules.database.settings as cfg
|
||||
from Web.modules.database.settings import MongoClient
|
||||
import Web.modules.inventarsystem.data_protection as dp
|
||||
import Web.modules.database.user as us
|
||||
|
||||
|
||||
def _get_client():
|
||||
@@ -79,7 +80,7 @@ def get_current_status(ausleihung, log_changes=False, user=None):
|
||||
if original_status == 'completed':
|
||||
return 'completed'
|
||||
|
||||
current_time = datetime.datetime.now()
|
||||
current_time = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
start_time = ausleihung.get('Start')
|
||||
end_time = ausleihung.get('End')
|
||||
|
||||
@@ -137,7 +138,7 @@ def create_backup_database():
|
||||
os.makedirs(backup_dir)
|
||||
|
||||
# Aktuelles Datum für den Dateinamen
|
||||
current_date = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
|
||||
current_date = datetime.datetime.now(ZoneInfo("Europe/Berlin")).strftime('%Y-%m-%d_%H-%M-%S')
|
||||
backup_file = os.path.join(backup_dir, f'ausleihungen_backup_{current_date}.json')
|
||||
|
||||
# Ausleihungen abrufen und als JSON speichern
|
||||
@@ -175,7 +176,7 @@ def create_backup_database():
|
||||
|
||||
log_file = os.path.join(log_dir, 'ausleihungen_error.log')
|
||||
with open(log_file, 'a', encoding='utf-8') as f:
|
||||
f.write(f"{datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}: Backup-Fehler: {str(e)}\n")
|
||||
f.write(f"{datetime.datetime.now(ZoneInfo("Europe/Berlin")).strftime('%Y-%m-%d_%H-%M-%S')}: Backup-Fehler: {str(e)}\n")
|
||||
|
||||
print(f"Fehler beim Erstellen des Backups: {e}")
|
||||
return False
|
||||
@@ -204,7 +205,7 @@ def add_ausleihung(item_id, user, start_date, end_date=None, notes="", status="a
|
||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
||||
db = client[cfg.MONGODB_DB]
|
||||
ausleihungen = db['ausleihungen']
|
||||
|
||||
|
||||
ausleihung = {
|
||||
'Item': item_id,
|
||||
'User': dp.encrypt_text(user),
|
||||
@@ -270,7 +271,7 @@ def update_ausleihung(id, item_id=None, user_id=None, start=None, end=None, note
|
||||
return True
|
||||
|
||||
# UTC Zeitstempel nutzen
|
||||
update_data['LastUpdated'] = datetime.datetime.now(datetime.timezone.utc)
|
||||
update_data['LastUpdated'] = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
|
||||
result = ausleihungen.update_one(
|
||||
{'_id': doc_id},
|
||||
@@ -300,7 +301,7 @@ def complete_ausleihung(id, end_time=None):
|
||||
"""
|
||||
try:
|
||||
if end_time is None:
|
||||
end_time = datetime.datetime.now()
|
||||
end_time = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
|
||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
||||
db = client[cfg.MONGODB_DB]
|
||||
@@ -312,7 +313,7 @@ def complete_ausleihung(id, end_time=None):
|
||||
{'$set': {
|
||||
'End': end_time,
|
||||
'Status': 'completed',
|
||||
'LastUpdated': datetime.datetime.now()
|
||||
'LastUpdated': datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
}}
|
||||
)
|
||||
|
||||
@@ -320,7 +321,7 @@ def complete_ausleihung(id, end_time=None):
|
||||
{'_id': ObjectId(id)},
|
||||
{'$set': {
|
||||
'Verfuegbar': True,
|
||||
'LastUpdated': datetime.datetime.now()
|
||||
'LastUpdated': datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
}}
|
||||
)
|
||||
|
||||
@@ -351,7 +352,7 @@ def cancel_ausleihung(id):
|
||||
{'_id': ObjectId(id)},
|
||||
{'$set': {
|
||||
'Status': 'cancelled',
|
||||
'LastUpdated': datetime.datetime.now()
|
||||
'LastUpdated': datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
}}
|
||||
)
|
||||
|
||||
@@ -376,7 +377,7 @@ def remove_ausleihung(id):
|
||||
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
|
||||
db = client[cfg.MONGODB_DB]
|
||||
ausleihungen = db['ausleihungen']
|
||||
now = datetime.datetime.now()
|
||||
now = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
result = ausleihungen.update_one(
|
||||
{'_id': ObjectId(id), 'Status': {'$ne': 'deleted'}},
|
||||
{'$set': {
|
||||
@@ -770,7 +771,7 @@ def activate_ausleihung(id):
|
||||
{'_id': doc_id, 'Status': 'planned'},
|
||||
{'$set': {
|
||||
'Status': 'active',
|
||||
'LastUpdated': datetime.datetime.now(datetime.timezone.utc)
|
||||
'LastUpdated': datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
}}
|
||||
)
|
||||
return result.modified_count > 0
|
||||
@@ -794,7 +795,7 @@ def reset_item_completely(item_id):
|
||||
return {'success': False, 'message': 'Item nicht gefunden'}
|
||||
|
||||
item_name = item.get('Name', 'Unbekannt')
|
||||
now_utc = datetime.datetime.now(datetime.timezone.utc)
|
||||
now_utc = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
|
||||
# 1. Bulk update active borrowings
|
||||
update_res = ausleihungen_collection.update_many(
|
||||
@@ -862,7 +863,7 @@ def mark_booking_active(booking_id, ausleihung_id=None):
|
||||
doc_id = ObjectId(booking_id) if isinstance(booking_id, str) else booking_id
|
||||
update_data = {
|
||||
'Status': 'active',
|
||||
'LastUpdated': datetime.datetime.now(datetime.timezone.utc)
|
||||
'LastUpdated': datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||
}
|
||||
if ausleihung_id:
|
||||
update_data['AusleihungId'] = ausleihung_id
|
||||
|
||||
Reference in New Issue
Block a user