diff --git a/blueprints/community/classifieds/routes.py b/blueprints/community/classifieds/routes.py index 948515b..a203f07 100644 --- a/blueprints/community/classifieds/routes.py +++ b/blueprints/community/classifieds/routes.py @@ -116,6 +116,18 @@ def new(): ).first(): form_company_id = current_user.company_id + # Deduplikacja double/triple-click: jeśli ten sam autor+firma+tytuł + # wpadły w ostatnich 60 sekundach — traktuj jako powtórkę przesyłu formularza. + recent_duplicate = db.query(Classified).filter( + Classified.author_id == current_user.id, + Classified.company_id == form_company_id, + Classified.title == title, + Classified.created_at >= datetime.now() - timedelta(seconds=60), + ).order_by(Classified.created_at.desc()).first() + if recent_duplicate: + flash('To ogłoszenie właśnie dodano — wyświetlamy istniejące.', 'info') + return redirect(url_for('.classifieds_view', classified_id=recent_duplicate.id)) + classified = Classified( author_id=current_user.id, company_id=form_company_id, diff --git a/templates/admin/announcements_form.html b/templates/admin/announcements_form.html index ff068b0..0406270 100755 --- a/templates/admin/announcements_form.html +++ b/templates/admin/announcements_form.html @@ -169,7 +169,7 @@ {% endif %}