Favoritenfunktion fertig
This commit is contained in:
parent
3783e5de44
commit
60e6808962
Binary file not shown.
|
|
@ -15,14 +15,9 @@ import os
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
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 #####################################
|
############################################## DEV #####################################
|
||||||
|
BASE_URL = "https://dev01.digitale-agentur.com/"
|
||||||
|
CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D"
|
||||||
|
|
||||||
# MAIL DEV
|
# MAIL DEV
|
||||||
EMAIL_HOST = 'smtp.strato.de'
|
EMAIL_HOST = 'smtp.strato.de'
|
||||||
|
|
|
||||||
|
|
@ -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)
|
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)
|
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
|
#Counter, wie oft dieser Standard in eine andere Agentur kopiert wird
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -56,7 +53,7 @@
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
{% for s in allagencynetworkstandards %}
|
{% for s in allagencynetworkstandards %}
|
||||||
{% if forloop.counter < 10 %}
|
{% if forloop.counter < 10 %}
|
||||||
<a href="{% url 'standard-single-agn' s.pk %}">{{s.name|truncatechars:30}}</a> ({{s.agencynetworkcounter}})<br/>
|
<a href="{% url 'standard-single-agn' s.pk s.pk %}">{{s.name|truncatechars:30}}</a> ({{s.agencynetworkcounter}})<br/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
|
|
|
||||||
|
|
@ -41,15 +41,15 @@
|
||||||
{% getbool as groupchecker %}
|
{% getbool as groupchecker %}
|
||||||
|
|
||||||
{% if groupchecker %}
|
{% if groupchecker %}
|
||||||
<a href="{% url 'standard-single-agn' standard.pk %}">{{standard.name|truncatechars:28}}</a>
|
<a href="{% url 'standard-single-agn' standard.pk agn.pk %}">{{standard.name|truncatechars:28}}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="card-text text-secondary" data-toggle="popover" data-placement="top" data-trigger="hover" title="Zugriffsbeschränkung" data-content="Zugriff beschränkt auf {% for sgroup in standard.visibleby.all %}{{sgroup.agencygroupname}}{% if forloop.counter < standard.visibleby.all|length %},{%endif%}{% endfor %}"><i class="fas fa-lock"></i> {{standard.name|truncatechars:28}}</p>
|
<p class="card-text text-secondary" data-toggle="popover" data-placement="top" data-trigger="hover" title="Zugriffsbeschränkung" data-content="Zugriff beschränkt auf {% for sgroup in standard.visibleby.all %}{{sgroup.agencygroupname}}{% if forloop.counter < standard.visibleby.all|length %},{%endif%}{% endfor %}"><i class="fas fa-lock"></i> {{standard.name|truncatechars:28}}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>{{standard.agency.name}} <i style="float: right; color: #000000;" class="fas fa-info-circle" onclick="javascript:$('#showAgencyInfo_{{standard.agency.pk}}').modal('toggle');"></i></td>
|
<td>{{standard.agency.name}} <i style="float: right;" class="fas fa-info-circle" onclick="javascript:$('#showAgencyInfo_{{standard.agency.pk}}').modal('toggle');"></i></td>
|
||||||
<td>{{standard.last_modified_on|date:"d.m.Y, H:i"}}</td>
|
<td>{{standard.last_modified_on|date:"d.m.Y, H:i"}}</td>
|
||||||
<td>{{standard.agencynetworkcounter}}</td>
|
<td>{{standard.agencynetworkcounter}}</td>
|
||||||
<td>{% if isshared %}Übernommen{% endif %}</td>
|
<td>{% if isshared %}Übernommen {% elif request.user in standard.favoritfrom.all %}Favorit {% endif %}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,20 @@
|
||||||
{% checkifsharedstandardinagency request.user.profile.agency standard as isshared %}
|
{% checkifsharedstandardinagency request.user.profile.agency standard as isshared %}
|
||||||
{% if isshared == False and standard.agency != request.user.profile.agency %}
|
{% if isshared == False and standard.agency != request.user.profile.agency %}
|
||||||
<span style="float: right">
|
<span style="float: right">
|
||||||
|
<a style="float: right" href="{% url 'standard-agn' agnpk %}" type="button" class="btn btn-secondary ml-2" data-toggle="tooltip" data-placement="top" title="Zurück zu Verbundstandards."><i class="fas fa-chevron-circle-left"></i></a>
|
||||||
|
|
||||||
|
<button style="float: right" id="favoritbutton" class="btn {% if request.user in standard.favoritfrom.all %}btn-primary {% else %} btn-secondary {% endif %} ml-2" onclick="javascript:markFavorit({{standard.pk}}, {{request.user.pk}})" data-toggle="tooltip" data-placement="top" title="Markieren Sie diesen Standard als Favoriten."><!--<small><i class="fas fa-file-import" ></i></small>--><i class="fas fa-star"></i></button>
|
||||||
<button style="float: right" class="btn btn-primary ml-2" onclick="javascript:askForCopy()" data-toggle="tooltip" data-placement="top" title="Übernehmen Sie diesen Standard in Ihre Agentur."><!--<small><i class="fas fa-file-import" ></i></small>-->Standard in meine Agentur übernehmen</button>
|
<button style="float: right" class="btn btn-primary ml-2" onclick="javascript:askForCopy()" data-toggle="tooltip" data-placement="top" title="Übernehmen Sie diesen Standard in Ihre Agentur."><!--<small><i class="fas fa-file-import" ></i></small>-->Standard in meine Agentur übernehmen</button>
|
||||||
</span>
|
</span>
|
||||||
{% elif standard.agency == request.user.profile.agency %}
|
{% elif standard.agency == request.user.profile.agency %}
|
||||||
<span style="float: right; padding-top:16px; font-size: 16pt;">
|
<span style="float: right; font-size: 16pt;">
|
||||||
<small>Standard ist aus ihrer Agentur</small>
|
<small>Standard ist aus ihrer Agentur</small>
|
||||||
|
<a style="float: right" href="{% url 'standard-agn' agnpk %}" type="button" class="btn btn-secondary btn-sm ml-2" data-toggle="tooltip" data-placement="top" title="Zurück zu Verbundstandards."><i class="fas fa-chevron-circle-left"></i></a>
|
||||||
</span>
|
</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span style="float: right; padding-top:16px; font-size: 16pt;">
|
<span style="float: right;font-size: 16pt;">
|
||||||
<small>Standard übernommen</small>
|
<small>Standard übernommen</small>
|
||||||
|
<a style="float: right" href="{% url 'standard-agn' agnpk %}" type="button" class="btn btn-secondary btn-sm ml-2" data-toggle="tooltip" data-placement="top" title="Zurück zu Verbundstandards."><i class="fas fa-chevron-circle-left"></i></a>
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ urlpatterns = [
|
||||||
path('standards/<int:pk>/delete', StandardDeleteView.as_view(), name='standard-delete'),
|
path('standards/<int:pk>/delete', StandardDeleteView.as_view(), name='standard-delete'),
|
||||||
path('standard/<int:pk>/changestat', views.StandardChangePublic, name="standard-status"),
|
path('standard/<int:pk>/changestat', views.StandardChangePublic, name="standard-status"),
|
||||||
path('standard/<int:pk>/single', views.StandardSingle, name="standard-single"),
|
path('standard/<int:pk>/single', views.StandardSingle, name="standard-single"),
|
||||||
path('standard/<int:pk>/singleagn', views.StandardSingleAgn, name="standard-single-agn"),
|
path('standard/<int:pk>/<int:agnpk>/singleagn', views.StandardSingleAgn, name="standard-single-agn"),
|
||||||
path('standard/<int:pk>/area', views.StandardArea, name="standard-area"),
|
path('standard/<int:pk>/area', views.StandardArea, name="standard-area"),
|
||||||
path('standard/<int:pk>/task', views.StandardTask, name="standard-task"),
|
path('standard/<int:pk>/task', views.StandardTask, name="standard-task"),
|
||||||
path('standardsagn/<int:pk>', views.StandardFromAgn, name="standard-agn"),
|
path('standardsagn/<int:pk>', views.StandardFromAgn, name="standard-agn"),
|
||||||
|
|
|
||||||
|
|
@ -515,20 +515,27 @@ def updatesbyajax(request, pk):
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def StandardFromAgn(request, pk):
|
def StandardFromAgn(request, pk):
|
||||||
agn = AgencyNetwork.objects.get(pk=pk)
|
try:
|
||||||
context = {
|
agn = AgencyNetwork.objects.get(pk=pk)
|
||||||
'active_link':'standards',
|
context = {
|
||||||
'standards_of_agency_network' : agn.standards.all(),
|
'active_link':'standards',
|
||||||
'agn' :agn,
|
'standards_of_agency_network' : agn.standards.all(),
|
||||||
}
|
'agn' :agn,
|
||||||
return render(request, 'standards/standards_from_agn.html', context)
|
}
|
||||||
|
return render(request, 'standards/standards_from_agn.html', context)
|
||||||
|
except:
|
||||||
|
context = {
|
||||||
|
'active_link':'standards',
|
||||||
|
}
|
||||||
|
return redirect('standards')
|
||||||
|
|
||||||
|
|
||||||
# View for SingleStandard from AgencyNetwork
|
# View for SingleStandard from AgencyNetwork
|
||||||
@login_required
|
@login_required
|
||||||
def StandardSingleAgn(request, pk):
|
def StandardSingleAgn(request, pk, agnpk):
|
||||||
context = {
|
context = {
|
||||||
'active_link':'standards',
|
'active_link':'standards',
|
||||||
|
'agnpk' : agnpk,
|
||||||
'standard' : Standards.objects.get(pk=pk),
|
'standard' : Standards.objects.get(pk=pk),
|
||||||
'comments' : StandardComments.objects.filter(standard=Standards.objects.get(pk=pk)).order_by("-last_modified_on")
|
'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))
|
counter_down = len(StandardCommentRate.objects.filter(oncomment=comment, rate_stats=0))
|
||||||
|
|
||||||
return JsonResponse({"up" : counter_up, "down" : counter_down})
|
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})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue