Commit a18628bd4e9f1844019c5531a26a646df2d545c1
1 parent
780ddd53
Exists in
master
and in
5 other branches
Finally, I have finished the issue, completed the cycle and added url support, l…
…ink now connects to another url and add read to True #41
Showing
6 changed files
with
18 additions
and
8 deletions
Show diff stats
amadeus/settings.py
... | ... | @@ -92,8 +92,8 @@ DATABASES = { |
92 | 92 | 'default': { |
93 | 93 | 'ENGINE': 'django.db.backends.postgresql', |
94 | 94 | 'NAME': 'amadeus', |
95 | - 'USER': 'amadeus_admin', | |
96 | - 'PASSWORD': 'amadeus', | |
95 | + 'USER': 'postgres', | |
96 | + 'PASSWORD': 'felipe', | |
97 | 97 | 'HOST': '127.0.0.1', |
98 | 98 | 'PORT': '5432', |
99 | 99 | } | ... | ... |
app/views.py
... | ... | @@ -38,7 +38,7 @@ class AppIndex(LoginRequiredMixin, LogMixin, ListView, NotificationMixin): |
38 | 38 | if self.request.is_ajax(): |
39 | 39 | self.template_name = "home_admin_content.html" |
40 | 40 | |
41 | - #super(AppIndex, self).createNotification("teste", not_resource="home", resource_link="users") | |
41 | + super(AppIndex, self).createNotification("teste", not_resource="home", resource_link="/register") | |
42 | 42 | |
43 | 43 | notifications = Notification.objects.filter(user= self.request.user, read=False) |
44 | 44 | context['notifications'] = notifications | ... | ... |
core/mixins.py
... | ... | @@ -47,7 +47,7 @@ class NotificationMixin(object): |
47 | 47 | def createNotification(self, message='', actor=None, users = User.objects.all(), not_action = '', not_resource='', resource_link=''): #the default will be a broadcast |
48 | 48 | action = Action.objects.filter(name = self.not_action) |
49 | 49 | resource = Resource.objects.filter(name = not_resource) |
50 | - | |
50 | + print(resource_link) | |
51 | 51 | if action.exists(): |
52 | 52 | action = action[0] |
53 | 53 | else: |
... | ... | @@ -58,6 +58,7 @@ class NotificationMixin(object): |
58 | 58 | resource = resource[0] |
59 | 59 | else: |
60 | 60 | resource = Resource(name = self.not_resource, link= resource_link) |
61 | + print(resource) | |
61 | 62 | resource.save() |
62 | 63 | |
63 | 64 | action_resource = Action_Resource.objects.filter(action = action, resource = resource) | ... | ... |
core/templates/base.html
... | ... | @@ -53,13 +53,13 @@ |
53 | 53 | <div class="navbar-collapse collapse navbar-responsive-collapse"> |
54 | 54 | <ul class="nav navbar-nav navbar-right notifications"> |
55 | 55 | <li class="" data-toggle="tooltip" data-placement="bottom" title data-original-title="notifications"> |
56 | - <a href="../user/profile_user.html" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-bell-o" aria-hidden="true"></i></a> | |
56 | + <a class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-bell-o" aria-hidden="true"></i></a> | |
57 | 57 | <ul class="dropdown-menu"> |
58 | 58 | <li class="dropdown-header">Notifications</li> |
59 | 59 | {% for notification in notifications %} |
60 | 60 | {% if notification.actor %} <!-- if the notification has a user--> |
61 | 61 | <li> |
62 | - <a href="{{ notification.action_resource.resource.link }}"><div class="list-group-item"> | |
62 | + <a href="{% url 'core:notification_read' notification.id %}"><div class="list-group-item"> | |
63 | 63 | <div class="row-picture"> |
64 | 64 | <img class="circle" src="http://lorempixel.com/56/56/people/1" alt="icon"> |
65 | 65 | <div class="least-content pull-right">{{ notification.datetime }}</div> |
... | ... | @@ -72,7 +72,7 @@ |
72 | 72 | </li> |
73 | 73 | {% else %} |
74 | 74 | <li> |
75 | - <a href="{{ notification.action_resource.resource.link }}"> | |
75 | + <a href="{% url 'core:notification_read' notification.id %}"> | |
76 | 76 | <div class="list-group-item"> |
77 | 77 | <div class="row-action-primary"> |
78 | 78 | <i class="material-icons">folder</i> | ... | ... |
core/urls.py
... | ... | @@ -9,4 +9,5 @@ urlpatterns = [ |
9 | 9 | url(r'^register/$', views.RegisterUser.as_view(), name='register'), |
10 | 10 | url(r'^remember_password/$', views.remember_password, name='remember_password'), |
11 | 11 | url(r'^logout/$', auth_views.logout, {'next_page': 'core:home'}, name='logout'), |
12 | + url(r'^notification/([0-9]+)/$', views.processNotification, name='notification_read') | |
12 | 13 | ] | ... | ... |
core/views.py
... | ... | @@ -10,7 +10,7 @@ from django.http import HttpResponse |
10 | 10 | from django.core.mail import send_mail,BadHeaderError |
11 | 11 | from django.conf import settings |
12 | 12 | from core.mixins import NotificationMixin |
13 | - | |
13 | +from .models import Notification | |
14 | 14 | from rolepermissions.shortcuts import assign_role |
15 | 15 | |
16 | 16 | from .forms import RegisterUserForm |
... | ... | @@ -87,6 +87,14 @@ def login(request): |
87 | 87 | return render(request,"index.html",context) |
88 | 88 | |
89 | 89 | |
90 | + | |
91 | +def processNotification(self, notificationId): | |
92 | + notification = Notification.objects.get(id= notificationId) | |
93 | + notification.read = True | |
94 | + notification.save() | |
95 | + | |
96 | + return redirect(notification.action_resource.resource.link) | |
97 | + | |
90 | 98 | # class LoginClass(LoginView): |
91 | 99 | # template_name='index.html' |
92 | 100 | # | ... | ... |