Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 78c215b234 | |||
| 9e77b4604d | |||
| c06473644a | |||
| 6c855ed9d9 |
+27
-12
@@ -9108,13 +9108,17 @@ def admin_add_invoice_correction(borrow_id):
|
||||
def library_item_invoices(item_id):
|
||||
"""Show all stored invoices for one specific library item."""
|
||||
if 'username' not in session:
|
||||
flash('Ihnen ist es nicht gestattet auf dieser Internetanwendung, die eben besuchte Adrrese zu nutzen, versuchen sie es erneut nach dem sie sich mit einem berechtigten Nutzer angemeldet haben!', 'error')
|
||||
flash(
|
||||
'Ihnen ist es nicht gestattet auf dieser Internetanwendung, die eben besuchte Adrrese zu nutzen, versuchen sie es erneut nach dem sie sich mit einem berechtigten Nutzer angemeldet haben!',
|
||||
'error')
|
||||
return redirect(url_for('login'))
|
||||
|
||||
if not cfg.MODULES.is_enabled('library'):
|
||||
flash('Bibliotheks-Modul ist deaktiviert.', 'error')
|
||||
return redirect(url_for('home_admin'))
|
||||
|
||||
current_permissions = us.get_effective_permissions(session['username'])
|
||||
|
||||
|
||||
if not current_permissions['pages'].get('library_loans_admin', False):
|
||||
flash('Ihnen fehlen die nötigen Berechtigungen, um diese Aktion auszuführen.', 'error')
|
||||
return redirect(url_for('library_view'))
|
||||
@@ -9127,17 +9131,20 @@ def library_item_invoices(item_id):
|
||||
ausleihungen = db['ausleihungen']
|
||||
|
||||
try:
|
||||
item_doc = ausleihungen.find_one({'_id': ObjectId(item_id)})
|
||||
item_doc = items_col.find_one({'_id': ObjectId(item_id)})
|
||||
except Exception:
|
||||
item_doc = ausleihungen.find_one({'_id': item_id})
|
||||
item_doc = items_col.find_one({'_id': item_id})
|
||||
|
||||
if not item_doc:
|
||||
flash('Bibliotheksmedium nicht gefunden.', 'error')
|
||||
return redirect(url_for('library_loans_admin'))
|
||||
|
||||
borrow_docs = list(items_col.find(
|
||||
item_id_obj = item_doc.get('_id')
|
||||
item_id_str = str(item_id_obj)
|
||||
|
||||
borrow_docs = list(ausleihungen.find(
|
||||
{
|
||||
'Item': str(item_doc.get('_id')),
|
||||
'Item': {'$in': [item_id_str, item_id_obj]},
|
||||
'InvoiceData': {'$exists': True, '$ne': {}}
|
||||
},
|
||||
{
|
||||
@@ -9152,19 +9159,27 @@ def library_item_invoices(item_id):
|
||||
entries = []
|
||||
for borrow_doc in borrow_docs:
|
||||
invoice_data = borrow_doc.get('InvoiceData') or {}
|
||||
|
||||
created_at = invoice_data.get('created_at')
|
||||
created_at_display = created_at.strftime('%d.%m.%Y %H:%M') if isinstance(created_at, datetime.datetime) else (str(created_at) if created_at else '')
|
||||
created_at_display = created_at.strftime('%d.%m.%Y %H:%M') if isinstance(created_at,
|
||||
datetime.datetime) else (
|
||||
str(created_at) if created_at else '')
|
||||
|
||||
paid_at = invoice_data.get('paid_at')
|
||||
paid_at_display = paid_at.strftime('%d.%m.%Y %H:%M') if isinstance(paid_at, datetime.datetime) else (str(paid_at) if paid_at else '')
|
||||
paid_at_display = paid_at.strftime('%d.%m.%Y %H:%M') if isinstance(paid_at, datetime.datetime) else (
|
||||
str(paid_at) if paid_at else '')
|
||||
|
||||
entries.append({
|
||||
'borrow_id': str(borrow_doc.get('_id')),
|
||||
'borrow_status': borrow_doc.get('Status', ''),
|
||||
'borrow_user': borrow_doc.get('User', ''),
|
||||
'borrow_start': borrow_doc.get('Start').strftime('%d.%m.%Y %H:%M') if isinstance(borrow_doc.get('Start'), datetime.datetime) else '',
|
||||
'borrow_end': borrow_doc.get('End').strftime('%d.%m.%Y %H:%M') if isinstance(borrow_doc.get('End'), datetime.datetime) else '',
|
||||
'borrow_start': borrow_doc.get('Start').strftime('%d.%m.%Y %H:%M') if isinstance(
|
||||
borrow_doc.get('Start'), datetime.datetime) else '',
|
||||
'borrow_end': borrow_doc.get('End').strftime('%d.%m.%Y %H:%M') if isinstance(borrow_doc.get('End'),
|
||||
datetime.datetime) else '',
|
||||
'invoice_number': invoice_data.get('invoice_number', ''),
|
||||
'invoice_amount': _format_money_value(invoice_data.get('amount')),
|
||||
'invoice_amount': _format_money_value(invoice_data.get('amount')) if hasattr(invoice_data,
|
||||
'get') else '0,00',
|
||||
'invoice_reason': invoice_data.get('damage_reason', ''),
|
||||
'invoice_created_at': created_at_display,
|
||||
'invoice_created_by': invoice_data.get('created_by', ''),
|
||||
@@ -9187,6 +9202,7 @@ def library_item_invoices(item_id):
|
||||
student_cards_module_enabled=cfg.MODULES.is_enabled('student_cards'),
|
||||
mail_module_enabled=cfg.MODULES.is_enabled('mail')
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
app.logger.error(f"Error loading invoice history for item {item_id}: {e}")
|
||||
flash('Fehler beim Laden der Rechnungshistorie.', 'error')
|
||||
@@ -9195,7 +9211,6 @@ def library_item_invoices(item_id):
|
||||
if client:
|
||||
client.close()
|
||||
|
||||
|
||||
@app.route('/admin_reset_user_password', methods=['POST'])
|
||||
def admin_reset_user_password():
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user