mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-26 05:23:18 +01:00 
			
		
		
		
	Compare commits
	
		
			17 Commits
		
	
	
		
			7b9ff119e8
			...
			potvieux
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 9dc11aa016 | ||
|  | 2ec5a0d9ca | ||
|  | 3faf611816 | ||
|  | 2807b6ef44 | ||
|  | d6645900d3 | ||
|  | e35847ebd8 | ||
|  | 57268bc9c2 | ||
|  | ab6c943126 | ||
|  | 5dc5f56ae4 | ||
|  | 81017fc393 | ||
|  | 90e3871934 | ||
|  | 95e07f3148 | ||
|  | 770c748bd9 | ||
|  | 06fa096405 | ||
|  | 182f680507 | ||
|  | 5ceda66ded | ||
|  | 6443d64b69 | 
| @@ -1,6 +1,8 @@ | |||||||
| # Copyright (C) 2018-2025 by BDE ENS Paris-Saclay | # Copyright (C) 2018-2025 by BDE ENS Paris-Saclay | ||||||
| # SPDX-License-Identifier: GPL-3.0-or-later | # SPDX-License-Identifier: GPL-3.0-or-later | ||||||
|  |  | ||||||
|  | import datetime | ||||||
|  |  | ||||||
| from django.utils import timezone | from django.utils import timezone | ||||||
| from django.utils.html import escape | from django.utils.html import escape | ||||||
| from django.utils.safestring import mark_safe | from django.utils.safestring import mark_safe | ||||||
| @@ -77,6 +79,9 @@ def get_row_class(record): | |||||||
|             c += " table-info" |             c += " table-info" | ||||||
|         elif record.note.balance < 0: |         elif record.note.balance < 0: | ||||||
|             c += " table-danger" |             c += " table-danger" | ||||||
|  |         # MODE VIEUXCON=ON | ||||||
|  |         if (datetime.datetime.utcnow().timestamp() - record.note.created_at.timestamp()) > 3600 * 24 * 365 * 2.5: | ||||||
|  |             c += " font-weight-bold underline" | ||||||
|     return c |     return c | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -264,13 +264,22 @@ class ActivityEntryView(LoginRequiredMixin, SingleTableMixin, TemplateView): | |||||||
|                                          balance=F("note__balance")) |                                          balance=F("note__balance")) | ||||||
|  |  | ||||||
|         # Keep only users that have a note |         # Keep only users that have a note | ||||||
|         note_qs = note_qs.filter(note__noteuser__isnull=False) |         note_qs = note_qs.filter(note__noteuser__isnull=False).exclude(note__inactivity_reason='forced') | ||||||
|  |  | ||||||
|         # Keep only valid members |         if activity.activity_type.name != "Pot Vieux": | ||||||
|  |             # Keep only members | ||||||
|             note_qs = note_qs.filter( |             note_qs = note_qs.filter( | ||||||
|                 note__noteuser__user__memberships__club=activity.attendees_club, |                 note__noteuser__user__memberships__club=activity.attendees_club, | ||||||
|                 note__noteuser__user__memberships__date_start__lte=timezone.now(), |                 note__noteuser__user__memberships__date_start__lte=timezone.now(), | ||||||
|             note__noteuser__user__memberships__date_end__gte=timezone.now()).exclude(note__inactivity_reason='forced') |                 note__noteuser__user__memberships__date_end__gte=timezone.now(), | ||||||
|  |             ) | ||||||
|  |  | ||||||
|  |         # Keep only valid members | ||||||
|  | #        note_qs = note_qs.filter( | ||||||
|  | #            note__noteuser__user__memberships__club=activity.attendees_club, | ||||||
|  | #            note__noteuser__user__memberships__date_start__lte=timezone.now(), | ||||||
|  | #            note__noteuser__user__memberships__date_end__gte=timezone.now(), | ||||||
|  | #       ) | ||||||
|  |  | ||||||
|         # Filter with permission backend |         # Filter with permission backend | ||||||
|         note_qs = note_qs.filter(PermissionBackend.filter_queryset(self.request, Alias, "view")) |         note_qs = note_qs.filter(PermissionBackend.filter_queryset(self.request, Alias, "view")) | ||||||
|   | |||||||
| @@ -3815,7 +3815,7 @@ | |||||||
|             "mask": 2, |             "mask": 2, | ||||||
|             "field": "", |             "field": "", | ||||||
|             "permanent": false, |             "permanent": false, | ||||||
|             "description": "Créer une transaction vers la note d'un club tant que la source reste au dessus de -20 €" |             "description": "Créer une transaction vers la note d'un club" | ||||||
| 	} | 	} | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
| @@ -4812,8 +4812,10 @@ | |||||||
|                 168, |                 168, | ||||||
|                 176, |                 176, | ||||||
|                 177, |                 177, | ||||||
|  | 		178, | ||||||
|                 197, |                 197, | ||||||
|                 211 |                 211, | ||||||
|  | 		244 | ||||||
|             ] |             ] | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|   | |||||||
							
								
								
									
										96
									
								
								note_kfet/static/css/custom.css
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										96
									
								
								note_kfet/static/css/custom.css
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -61,20 +61,16 @@ mark { | |||||||
| /* Make navbar more readable */ | /* Make navbar more readable */ | ||||||
| .navbar-dark .navbar-nav .nav-link { | .navbar-dark .navbar-nav .nav-link { | ||||||
|     color: rgba(255, 255, 255, .75); |     color: rgba(255, 255, 255, .75); | ||||||
|     text-shadow: 2px 2px 15px #ffeb40; |     /* text-shadow: 2px 2px 15px #ffeb40; */ | ||||||
| } | } | ||||||
|  |  | ||||||
| .navbar-brand { | /* .navbar-brand { */ | ||||||
|     text-shadow: 2px 2px 15px #ffeb40; | /*     text-shadow: 2px 2px 15px #ffeb40; */ | ||||||
| } | /* } | ||||||
|  |  | ||||||
| /* Last BDE colors */ | /* Last BDE colors */ | ||||||
| .bg-primary { | .bg-primary { | ||||||
| /*    background-color: rgb(18, 67, 4) !important; */ |     background-color: rgb(102, 83, 105) !important; | ||||||
| /* MODE VIEUXCON=ON */ |  | ||||||
| /*    background-color: rgb(166, 0, 2) !important; */ |  | ||||||
|     background-color: rgb(0, 0, 0); |  | ||||||
|     background-image: url('/static/img/rp_bg.png'); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| html { | html { | ||||||
| @@ -89,94 +85,52 @@ body { | |||||||
| .btn-outline-primary:hover, | .btn-outline-primary:hover, | ||||||
| .btn-outline-primary:not(:disabled):not(.disabled).active, | .btn-outline-primary:not(:disabled):not(.disabled).active, | ||||||
| .btn-outline-primary:not(:disabled):not(.disabled):active { | .btn-outline-primary:not(:disabled):not(.disabled):active { | ||||||
|     color:  rgb(0, 0, 0); |     color: #fff; | ||||||
|     background-color: rgb(255, 0, 101); |     background-color: rgb(102, 83, 105); | ||||||
|     border-color: rgb(255, 203, 32); |     border-color: rgb(102, 83, 105); | ||||||
| } | } | ||||||
|  |  | ||||||
| .btn-outline-primary { | .btn-outline-primary { | ||||||
|     color: #000; |     color: rgb(102, 83, 105); | ||||||
|     background-color: #ffcb20; |     background-color: rgba(248, 249, 250, 0.9); | ||||||
|     border-color: #000; |     border-color: rgb(102, 83, 105); | ||||||
| } | } | ||||||
|  |  | ||||||
| .turbolinks-progress-bar { | .turbolinks-progress-bar { | ||||||
|     background-color: #ffffff; |     background-color: #12432E; | ||||||
| } | } | ||||||
|  |  | ||||||
| .btn-primary:hover, | .btn-primary:hover, | ||||||
| .btn-primary:not(:disabled):not(.disabled).active, | .btn-primary:not(:disabled):not(.disabled).active, | ||||||
| .btn-primary:not(:disabled):not(.disabled):active { | .btn-primary:not(:disabled):not(.disabled):active { | ||||||
|     color:  rgb(0, 0, 0); |     color: #fff; | ||||||
|     background-color: rgb(255, 0, 101); |     background-color: rgb(102, 83, 105); | ||||||
|     border-color: rgb(255, 203, 32); |     border-color: rgb(102, 83, 105); | ||||||
| } | } | ||||||
|  |  | ||||||
| .btn-primary { | .btn-primary { | ||||||
|     color:  #ffcb20;  |     color: rgba(248, 249, 250, 0.9);  | ||||||
|     background-color: #000000; |     background-color: rgb(102, 83, 105); | ||||||
|     border-color: #ffcd20; |     border-color: rgb(102, 83, 105); | ||||||
| } | } | ||||||
|  |  | ||||||
| .border-primary { | .border-primary { | ||||||
|     border-color: rgb(255, 255, 255) !important;  |     border-color: rgb(115, 15, 115) !important;  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-secondary { |  | ||||||
|     color:  #ff0065; |  | ||||||
|     background-color: #000000; |  | ||||||
|     border-color: #ff0065; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-secondary:hover, |  | ||||||
| .btn-secondary:not(:disabled):not(.disabled).active, |  | ||||||
| .btn-secondary:not(:disabled):not(.disabled):active { |  | ||||||
|     color:  rgb(0, 0, 0); |  | ||||||
|     background-color: rgb(255, 203, 32); |  | ||||||
|     border-color: rgb(255, 0, 101); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-outline-dark-shiny { |  | ||||||
|     background-color: #222; |  | ||||||
|     border-color: #61605b; |  | ||||||
|     color: rgba(255, 0, 101, 75%); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-outline-dark-shiny:hover, |  | ||||||
| .btn-outline-dark-shiny:not(:disabled):not(.disabled).active, |  | ||||||
| .btn-outline-dark-shiny:not(:disabled):not(.disabled):active { |  | ||||||
|     color:  rgb(0, 0, 0); |  | ||||||
|     background-color: rgb(255, 203, 32); |  | ||||||
|     border-color: rgb(255, 0, 101); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-outline-dark { |  | ||||||
|     background-color: #222; |  | ||||||
|     border-color: #61605b; |  | ||||||
|     color: rgba(255, 203, 32, 75%); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .btn-outline-dark:hover, |  | ||||||
| .btn-outline-dark:not(:disabled):not(.disabled).active, |  | ||||||
| .btn-outline-dark:not(:disabled):not(.disabled):active { |  | ||||||
|     color:  rgb(0, 0, 0); |  | ||||||
|     background-color: rgb(255, 0, 101); |  | ||||||
|     border-color: rgb(255, 203, 32); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| a { | a { | ||||||
|     color: rgb(255, 0, 101); |     color: rgb(102, 83, 105); | ||||||
| } | } | ||||||
|  |  | ||||||
| a:hover { | a:hover { | ||||||
|     color: rgb(255, 203, 32); |     color: rgb(200, 30, 200); | ||||||
| } | } | ||||||
|  |  | ||||||
| .form-control:focus { | .form-control:focus { | ||||||
|     box-shadow: 0 0 0 0.25rem rgb(255 0 101 / 50%); |     box-shadow: 0 0 0 0.25rem rgba(200, 30, 200, 0.25); | ||||||
|     border-color: rgb(255, 0, 101); |     border-color: rgb(200, 30, 200); | ||||||
| } | } | ||||||
|  |  | ||||||
| .btn-outline-primary.focus { | .btn-outline-primary.focus { | ||||||
|   box-shadow: 0 0 0 0.25rem rgb(255 203 32 / 22%); |   box-shadow: 0 0 0 0.25rem rgba(200, 30, 200, 0.5); | ||||||
| } |  | ||||||
|   | |||||||
| @@ -96,11 +96,13 @@ function displayStyle (note) { | |||||||
|   if (!note) { return '' } |   if (!note) { return '' } | ||||||
|   const balance = note.balance |   const balance = note.balance | ||||||
|   var css = '' |   var css = '' | ||||||
|  |   var ms_per_year = 31536000000 // 365 * 24 * 3600 * 1000 | ||||||
|   if (balance < -2000) { css += ' text-danger bg-dark' }  |   if (balance < -2000) { css += ' text-danger bg-dark' }  | ||||||
|   else if (balance < -1000) { css += ' text-danger' }  |   else if (balance < -1000) { css += ' text-danger' }  | ||||||
|   else if (balance < 0) { css += ' text-warning' } |   else if (balance < 0) { css += ' text-warning' } | ||||||
|   if (!note.email_confirmed) { css += ' bg-primary' } |   if (!note.email_confirmed) { css += ' bg-primary' } | ||||||
|   else if (!note.is_active || (note.membership && note.membership.date_end < new Date().toISOString())) { css += ' bg-info' } |   else if (!note.is_active || (note.membership && note.membership.date_end < new Date().toISOString())) { css += ' bg-info' } | ||||||
|  |   if (((Date.now() - Date.parse(note.created_at))/ms_per_year) > 2.5) { css += ' font-weight-bold underline' } | ||||||
|   return css |   return css | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -165,6 +165,11 @@ SPDX-License-Identifier: GPL-3.0-or-later | |||||||
|     </nav> |     </nav> | ||||||
|     <div class="{% block containertype %}container{% endblock %} my-3"> |     <div class="{% block containertype %}container{% endblock %} my-3"> | ||||||
|         <div id="messages"> |         <div id="messages"> | ||||||
|  | 	    {% if user.is_authenticated %} | ||||||
|  | 	    	<div class="alert alert-info"> | ||||||
|  | 		    Bravo pour votre diplomation les survis ! | ||||||
|  | 		</div> | ||||||
|  | 	    {% endif %} | ||||||
|             {% if user.is_authenticated %} |             {% if user.is_authenticated %} | ||||||
|                 {% if not user|is_member:"BDE" %} |                 {% if not user|is_member:"BDE" %} | ||||||
|                     <div class="alert alert-danger"> |                     <div class="alert alert-danger"> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user