From 17e57da36ca8b6d952c881c48420870ceb7dfb6a Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 22 Feb 2025 17:05:41 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20d'un=20import=20d=C3=A9di=C3=A9=20fb=20?= =?UTF-8?q?pour=20traiter=20les=20probl=C3=A8mes=20rencontr=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agenda_culturel/celery.py | 5 +--- .../templates/agenda_culturel/rimports.html | 2 ++ .../run_all_fb_rimports_confirm.html | 28 +++++++++++++++++++ src/agenda_culturel/urls.py | 1 + src/agenda_culturel/views.py | 14 ++++++++++ 5 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 src/agenda_culturel/templates/agenda_culturel/run_all_fb_rimports_confirm.html diff --git a/src/agenda_culturel/celery.py b/src/agenda_culturel/celery.py index 2c3829f..cdd387e 100644 --- a/src/agenda_culturel/celery.py +++ b/src/agenda_culturel/celery.py @@ -304,10 +304,7 @@ def at_start(sender, **k): @app.task(bind=True) -def run_all_recurrent_imports(self): - # set variable to True for debugging fb - only_fb = False - +def run_all_recurrent_imports(self, only_fb=False): from agenda_culturel.models import RecurrentImport logger.info("Run all imports") diff --git a/src/agenda_culturel/templates/agenda_culturel/rimports.html b/src/agenda_culturel/templates/agenda_culturel/rimports.html index fc1a550..bc3dc74 100644 --- a/src/agenda_culturel/templates/agenda_culturel/rimports.html +++ b/src/agenda_culturel/templates/agenda_culturel/rimports.html @@ -26,6 +26,8 @@
{% if not status %} Exécuter tout {% picto_from_name "play-circle" %} + Exécuter depuis FB {% picto_from_name "play-circle" %} +
{% else %} {% if status == "failed" or status == "canceled" %} Relancer les imports {% if status == "failed" %}échoués{% else %}annulés{% endif %} {% picto_from_name "play-circle" %} diff --git a/src/agenda_culturel/templates/agenda_culturel/run_all_fb_rimports_confirm.html b/src/agenda_culturel/templates/agenda_culturel/run_all_fb_rimports_confirm.html new file mode 100644 index 0000000..80ee197 --- /dev/null +++ b/src/agenda_culturel/templates/agenda_culturel/run_all_fb_rimports_confirm.html @@ -0,0 +1,28 @@ +{% extends "agenda_culturel/page.html" %} + +{% block title %}{% block og_title %}Lancer tous les imports facebook{% endblock %}{% endblock %} + +{% block fluid %}{% endblock %} + +{% block configurer-bouton %}{% endblock %} + +{% block content %} + +
+
+

Lancement de tous les imports

+
+
{% csrf_token %} +

Êtes-vous sûr·e de vouloir lancer tous les imports récurrent depuis facebook ?

+ {{ form }} + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/src/agenda_culturel/urls.py b/src/agenda_culturel/urls.py index 569118b..9f3cfeb 100644 --- a/src/agenda_culturel/urls.py +++ b/src/agenda_culturel/urls.py @@ -141,6 +141,7 @@ urlpatterns = [ path("imports//cancel", cancel_import, name="cancel_import"), path("rimports/", recurrent_imports, name="recurrent_imports"), path("rimports/run", run_all_rimports, name="run_all_rimports"), + path("rimports/fb/run", run_all_fb_rimports, name="run_all_fb_rimports"), path("rimports/status/", recurrent_imports, name="recurrent_imports_status"), path("rimports/status//run", run_all_rimports, name="run_all_rimports_status"), path("rimports/add", RecurrentImportCreateView.as_view(), name="add_rimport"), diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index 98a12fe..1ce766c 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -1462,6 +1462,20 @@ def run_all_rimports(request, status=None): return render(request, "agenda_culturel/run_all_rimports_confirm.html") +@login_required(login_url="/accounts/login/") +@permission_required( + ["agenda_culturel.view_recurrentimport", "agenda_culturel.run_recurrentimport"] +) +def run_all_fb_rimports(request, status=None): + if request.method == "POST": + run_all_recurrent_imports.delay(True) + + messages.success(request, _("Facebook imports has been launched.")) + return HttpResponseRedirect(reverse_lazy("recurrent_imports")) + else: + return render(request, "agenda_culturel/run_all_fb_rimports_confirm.html") + + ######################### ## duplicated events #########################