From 60e6808962f15599d0b7b6ed689e75431246123a Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Sat, 18 Apr 2020 13:40:10 +0200 Subject: [PATCH] Favoritenfunktion fertig --- .../__pycache__/settings.cpython-38.pyc | Bin 3891 -> 3891 bytes digitaleagentur/settings.py | 9 +---- standards/models.py | 1 + .../standards/agencynetwork_content.html | 5 +-- .../standards/standards_from_agn.html | 6 +-- .../standards/standards_single_agn.html | 30 +++++++++++++-- standards/urls.py | 2 +- standards/views.py | 35 +++++++++++++----- 8 files changed, 61 insertions(+), 27 deletions(-) diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 982e1ff58a21049d46116a445da43cf93099f360..097c52c89406032163f135ccfa888b6ca8d02d84 100644 GIT binary patch delta 31 lcmdliw^@!al$V!_0SGvs&x*4Z+sGHf$IQsWJUNx`8~}4f2W0>N delta 31 lcmdliw^@!al$V!_0SGK_&Wd9b-^drj$IQ&aHaV5=8~}3O2UY+8 diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py index dbda335..9b28b17 100644 --- a/digitaleagentur/settings.py +++ b/digitaleagentur/settings.py @@ -15,14 +15,9 @@ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -################################################### PROD DEV LOCAL CONFIGURATION ############################### -BASE_URL = "https://dev01.digitale-agentur.com/" -#BASE_URL = "https://digitale-agentur.com/" -#BASE_URL = "http://localhost:8000/" -CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D" - - ############################################## DEV ##################################### +BASE_URL = "https://dev01.digitale-agentur.com/" +CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D" # MAIL DEV EMAIL_HOST = 'smtp.strato.de' diff --git a/standards/models.py b/standards/models.py index bca71eb..6320805 100644 --- a/standards/models.py +++ b/standards/models.py @@ -73,6 +73,7 @@ class Standards(models.Model): parent_standard = models.ForeignKey("Standards", related_name='partentedstandard', on_delete=models.PROTECT, blank=True, null=True, default=None) shared_on = models.DateTimeField(default=timezone.now, blank=True) + favoritfrom = models.ManyToManyField(User, blank=True, related_name="FavoritFrom") #Counter, wie oft dieser Standard in eine andere Agentur kopiert wird diff --git a/standards/templates/standards/agencynetwork_content.html b/standards/templates/standards/agencynetwork_content.html index af4ebd8..8a74c42 100644 --- a/standards/templates/standards/agencynetwork_content.html +++ b/standards/templates/standards/agencynetwork_content.html @@ -33,9 +33,6 @@ - - -

@@ -56,7 +53,7 @@

{% for s in allagencynetworkstandards %} {% if forloop.counter < 10 %} - {{s.name|truncatechars:30}} ({{s.agencynetworkcounter}})
+ {{s.name|truncatechars:30}} ({{s.agencynetworkcounter}})
{% endif %} {% endfor %}

diff --git a/standards/templates/standards/standards_from_agn.html b/standards/templates/standards/standards_from_agn.html index 5f19957..ec56717 100644 --- a/standards/templates/standards/standards_from_agn.html +++ b/standards/templates/standards/standards_from_agn.html @@ -41,15 +41,15 @@ {% getbool as groupchecker %} {% if groupchecker %} - {{standard.name|truncatechars:28}} + {{standard.name|truncatechars:28}} {% else %}

 {{standard.name|truncatechars:28}}

{% endif %} - {{standard.agency.name}} + {{standard.agency.name}} {{standard.last_modified_on|date:"d.m.Y, H:i"}} {{standard.agencynetworkcounter}} - {% if isshared %}Übernommen{% endif %} + {% if isshared %}Übernommen {% elif request.user in standard.favoritfrom.all %}Favorit {% endif %} {% endif %} {% endfor %} diff --git a/standards/templates/standards/standards_single_agn.html b/standards/templates/standards/standards_single_agn.html index e11c50d..01bd738 100644 --- a/standards/templates/standards/standards_single_agn.html +++ b/standards/templates/standards/standards_single_agn.html @@ -5,16 +5,21 @@

{{standard.name}} {% checkifsharedstandardinagency request.user.profile.agency standard as isshared %} {% if isshared == False and standard.agency != request.user.profile.agency %} - + + + + {% elif standard.agency == request.user.profile.agency %} - + Standard ist aus ihrer Agentur + {% else %} - + Standard übernommen + {% endif %}

@@ -230,6 +235,25 @@ }); } + function markFavorit(){ + $.ajax({ + url: "{% url 'update_standard_by_ajax_agn' standard.pk %}", + data: { + action : 'markingfavorit', + }, + success: function (data) { + if(data["added"]){ + $("#favoritbutton").removeClass("btn-secondary"); + $("#favoritbutton").addClass("btn-primary"); + } + else{ + $("#favoritbutton").removeClass("btn-primary"); + $("#favoritbutton").addClass("btn-secondary"); + } + } + }); + } + {% endblock content %} diff --git a/standards/urls.py b/standards/urls.py index 419a55f..3946033 100644 --- a/standards/urls.py +++ b/standards/urls.py @@ -17,7 +17,7 @@ urlpatterns = [ path('standards//delete', StandardDeleteView.as_view(), name='standard-delete'), path('standard//changestat', views.StandardChangePublic, name="standard-status"), path('standard//single', views.StandardSingle, name="standard-single"), - path('standard//singleagn', views.StandardSingleAgn, name="standard-single-agn"), + path('standard///singleagn', views.StandardSingleAgn, name="standard-single-agn"), path('standard//area', views.StandardArea, name="standard-area"), path('standard//task', views.StandardTask, name="standard-task"), path('standardsagn/', views.StandardFromAgn, name="standard-agn"), diff --git a/standards/views.py b/standards/views.py index 56afd9d..bd3dbf7 100644 --- a/standards/views.py +++ b/standards/views.py @@ -506,7 +506,7 @@ def updatesbyajax(request, pk): else: agn.standards.remove(workingstandard) agn.lastactivity = datetime.now() - agn.save() + agn.save() else: success = False @@ -515,20 +515,27 @@ def updatesbyajax(request, pk): @login_required def StandardFromAgn(request, pk): - agn = AgencyNetwork.objects.get(pk=pk) - context = { - 'active_link':'standards', - 'standards_of_agency_network' : agn.standards.all(), - 'agn' :agn, - } - return render(request, 'standards/standards_from_agn.html', context) + try: + agn = AgencyNetwork.objects.get(pk=pk) + context = { + 'active_link':'standards', + 'standards_of_agency_network' : agn.standards.all(), + 'agn' :agn, + } + return render(request, 'standards/standards_from_agn.html', context) + except: + context = { + 'active_link':'standards', + } + return redirect('standards') # View for SingleStandard from AgencyNetwork @login_required -def StandardSingleAgn(request, pk): +def StandardSingleAgn(request, pk, agnpk): context = { 'active_link':'standards', + 'agnpk' : agnpk, 'standard' : Standards.objects.get(pk=pk), 'comments' : StandardComments.objects.filter(standard=Standards.objects.get(pk=pk)).order_by("-last_modified_on") } @@ -566,6 +573,16 @@ def updatesbyajax_agn(request, pk): counter_down = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=0)) return JsonResponse({"up" : counter_up, "down" : counter_down}) + elif(request.GET["action"] == "markingfavorit"): + workingstandard = Standards.objects.get(pk=pk) + added = False + if workingstandard.public: + if(request.user in workingstandard.favoritfrom.all()): + workingstandard.favoritfrom.remove(request.user) + else: + workingstandard.favoritfrom.add(request.user) + added = True + return JsonResponse({"added" : added})