mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	Compare commits
	
		
			27 Commits
		
	
	
		
			inclusive
			...
			fix_pipeli
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					81c12436a8 | ||
| 
						 | 
					8eee14075c | ||
| 
						 | 
					ab9ba62af1 | ||
| 
						 | 
					8ca0648e75 | ||
| 
						 | 
					77ecfd6ed5 | ||
| 
						 | 
					0ab1367e55 | ||
| 
						 | 
					524f0e098a | ||
| 
						 | 
					1ca4246cbd | ||
| 
						 | 
					6a9021ec14 | ||
| 
						 | 
					cb74311e7b | ||
| 
						 | 
					9d7dd566c9 | ||
| 
						 | 
					9944ebcaad | ||
| 
						 | 
					8537f043f7 | ||
| 
						 | 
					c89a95f8d2 | ||
| 
						 | 
					73640b1dfa | ||
| 
						 | 
					84b16ab603 | ||
| 
						 | 
					6a1b51dbbf | ||
| 
						 | 
					c441a43a8b | ||
| 
						 | 
					87f3b51b04 | ||
| 
						 | 
					0a853fd3e6 | ||
| 
						 | 
					c429734810 | ||
| 
						 | 
					5d759111b6 | ||
| 
						 | 
					70baf7566c | ||
| 
						 | 
					eb355f547c | ||
| 
						 | 
					7068170f18 | ||
| 
						 | 
					45ee9a8941 | ||
| 
						 | 
					454ea19603 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -42,6 +42,7 @@ map.json
 | 
				
			|||||||
backups/
 | 
					backups/
 | 
				
			||||||
/static/
 | 
					/static/
 | 
				
			||||||
/media/
 | 
					/media/
 | 
				
			||||||
 | 
					/tmp/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Virtualenv
 | 
					# Virtualenv
 | 
				
			||||||
env/
 | 
					env/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								apps/api/pagination.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								apps/api/pagination.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					from rest_framework.pagination import PageNumberPagination
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class CustomPagination(PageNumberPagination):
 | 
				
			||||||
 | 
					    page_size_query_param = 'page_size'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								apps/member/migrations/0009_auto_20220904_2325.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								apps/member/migrations/0009_auto_20220904_2325.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					# Generated by Django 2.2.26 on 2022-09-04 21:25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('member', '0008_auto_20211005_1544'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AlterField(
 | 
				
			||||||
 | 
					            model_name='profile',
 | 
				
			||||||
 | 
					            name='promotion',
 | 
				
			||||||
 | 
					            field=models.PositiveSmallIntegerField(default=2022, help_text='Year of entry to the school (None if not ENS student)', null=True, verbose_name='promotion'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
@@ -1967,7 +1967,7 @@
 | 
				
			|||||||
				"note",
 | 
									"note",
 | 
				
			||||||
				"transaction"
 | 
									"transaction"
 | 
				
			||||||
			],
 | 
								],
 | 
				
			||||||
			"query": "[\"AND\", [\"OR\", {\"source\": [\"club\", \"note\"]}, {\"destination\": [\"club\", \"note\"]}], [\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}]]",
 | 
								"query": "[\"AND\", [\"OR\", {\"source\": [\"club\", \"note\"]}, {\"destination\": [\"club\", \"note\"]}], [\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}]]",
 | 
				
			||||||
			"type": "change",
 | 
								"type": "change",
 | 
				
			||||||
			"mask": 2,
 | 
								"mask": 2,
 | 
				
			||||||
			"field": "valid",
 | 
								"field": "valid",
 | 
				
			||||||
@@ -2607,7 +2607,7 @@
 | 
				
			|||||||
				"note",
 | 
									"note",
 | 
				
			||||||
				"transaction"
 | 
									"transaction"
 | 
				
			||||||
			],
 | 
								],
 | 
				
			||||||
			"query": "[\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}]",
 | 
								"query": "[\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}]",
 | 
				
			||||||
			"type": "change",
 | 
								"type": "change",
 | 
				
			||||||
			"mask": 2,
 | 
								"mask": 2,
 | 
				
			||||||
			"field": "valid",
 | 
								"field": "valid",
 | 
				
			||||||
@@ -2623,7 +2623,7 @@
 | 
				
			|||||||
				"note",
 | 
									"note",
 | 
				
			||||||
				"transaction"
 | 
									"transaction"
 | 
				
			||||||
			],
 | 
								],
 | 
				
			||||||
			"query": "[\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}]",
 | 
								"query": "[\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": false}, {\"destination__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}, \"valid\": true}]",
 | 
				
			||||||
			"type": "change",
 | 
								"type": "change",
 | 
				
			||||||
			"mask": 2,
 | 
								"mask": 2,
 | 
				
			||||||
			"field": "invalidity_reason",
 | 
								"field": "invalidity_reason",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								apps/treasury/migrations/0005_auto_20230129_2348.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								apps/treasury/migrations/0005_auto_20230129_2348.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					# Generated by Django 2.2.28 on 2023-01-29 22:48
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('treasury', '0004_auto_20211005_1544'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AlterField(
 | 
				
			||||||
 | 
					            model_name='invoice',
 | 
				
			||||||
 | 
					            name='bde',
 | 
				
			||||||
 | 
					            field=models.CharField(choices=[('TotalistSpies', 'Tota[list]Spies'), ('Saperlistpopette', 'Saper[list]popette'), ('Finalist', 'Fina[list]'), ('Listorique', '[List]orique'), ('Satellist', 'Satel[list]'), ('Monopolist', 'Monopo[list]'), ('Kataclist', 'Katac[list]')], default='TotalistSpies', max_length=32, verbose_name='BDE'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
@@ -28,8 +28,9 @@ class Invoice(models.Model):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    bde = models.CharField(
 | 
					    bde = models.CharField(
 | 
				
			||||||
        max_length=32,
 | 
					        max_length=32,
 | 
				
			||||||
        default='Saperlistpopette',
 | 
					        default='TotalistSpies',
 | 
				
			||||||
        choices=(
 | 
					        choices=(
 | 
				
			||||||
 | 
						    ('TotalistSpies', 'Tota[list]Spies'),
 | 
				
			||||||
            ('Saperlistpopette', 'Saper[list]popette'),
 | 
					            ('Saperlistpopette', 'Saper[list]popette'),
 | 
				
			||||||
            ('Finalist', 'Fina[list]'),
 | 
					            ('Finalist', 'Fina[list]'),
 | 
				
			||||||
            ('Listorique', '[List]orique'),
 | 
					            ('Listorique', '[List]orique'),
 | 
				
			||||||
@@ -95,7 +96,7 @@ class Invoice(models.Model):
 | 
				
			|||||||
        products = self.products.all()
 | 
					        products = self.products.all()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.place = "Gif-sur-Yvette"
 | 
					        self.place = "Gif-sur-Yvette"
 | 
				
			||||||
        self.my_name = "BDE ENS Cachan"
 | 
					        self.my_name = "BDE ENS Paris Saclay"
 | 
				
			||||||
        self.my_address_street = "4 avenue des Sciences"
 | 
					        self.my_address_street = "4 avenue des Sciences"
 | 
				
			||||||
        self.my_city = "91190 Gif-sur-Yvette"
 | 
					        self.my_city = "91190 Gif-sur-Yvette"
 | 
				
			||||||
        self.bank_code = 30003
 | 
					        self.bank_code = 30003
 | 
				
			||||||
@@ -310,8 +311,8 @@ class SogeCredit(models.Model):
 | 
				
			|||||||
        amount = sum(transaction.total for transaction in self.transactions.all())
 | 
					        amount = sum(transaction.total for transaction in self.transactions.all())
 | 
				
			||||||
        if 'wei' in settings.INSTALLED_APPS:
 | 
					        if 'wei' in settings.INSTALLED_APPS:
 | 
				
			||||||
            from wei.models import WEIMembership
 | 
					            from wei.models import WEIMembership
 | 
				
			||||||
            if not WEIMembership.objects.filter(club__weiclub__year=datetime.date.today().year, user=self.user)\
 | 
					            if not WEIMembership.objects\
 | 
				
			||||||
                    .exists():
 | 
					                    .filter(club__weiclub__year=self.credit_transaction.created_at.year, user=self.user).exists():
 | 
				
			||||||
                # 80 € for people that don't go to WEI
 | 
					                # 80 € for people that don't go to WEI
 | 
				
			||||||
                amount += 8000
 | 
					                amount += 8000
 | 
				
			||||||
        return amount
 | 
					        return amount
 | 
				
			||||||
@@ -329,17 +330,18 @@ class SogeCredit(models.Model):
 | 
				
			|||||||
        bde_qs = Membership.objects.filter(user=self.user, club=bde, date_start__gte=bde.membership_start)
 | 
					        bde_qs = Membership.objects.filter(user=self.user, club=bde, date_start__gte=bde.membership_start)
 | 
				
			||||||
        kfet_qs = Membership.objects.filter(user=self.user, club=kfet, date_start__gte=kfet.membership_start)
 | 
					        kfet_qs = Membership.objects.filter(user=self.user, club=kfet, date_start__gte=kfet.membership_start)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if bde_qs.exists():
 | 
					## Soge do not pay BDE and kfet memberships this year (2022-2023)
 | 
				
			||||||
            m = bde_qs.get()
 | 
					#        if bde_qs.exists():
 | 
				
			||||||
            if MembershipTransaction.objects.filter(membership=m).exists():  # non-free membership
 | 
					#            m = bde_qs.get()
 | 
				
			||||||
                if m.transaction not in self.transactions.all():
 | 
					#            if MembershipTransaction.objects.filter(membership=m).exists():  # non-free membership
 | 
				
			||||||
                    self.transactions.add(m.transaction)
 | 
					#                if m.transaction not in self.transactions.all():
 | 
				
			||||||
 | 
					#                    self.transactions.add(m.transaction)
 | 
				
			||||||
        if kfet_qs.exists():
 | 
					#
 | 
				
			||||||
            m = kfet_qs.get()
 | 
					#        if kfet_qs.exists():
 | 
				
			||||||
            if MembershipTransaction.objects.filter(membership=m).exists():  # non-free membership
 | 
					#            m = kfet_qs.get()
 | 
				
			||||||
                if m.transaction not in self.transactions.all():
 | 
					#            if MembershipTransaction.objects.filter(membership=m).exists():  # non-free membership
 | 
				
			||||||
                    self.transactions.add(m.transaction)
 | 
					#                if m.transaction not in self.transactions.all():
 | 
				
			||||||
 | 
					#                    self.transactions.add(m.transaction)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if 'wei' in settings.INSTALLED_APPS:
 | 
					        if 'wei' in settings.INSTALLED_APPS:
 | 
				
			||||||
            from wei.models import WEIClub
 | 
					            from wei.models import WEIClub
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								apps/treasury/static/img/TotalistSpies.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								apps/treasury/static/img/TotalistSpies.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.0 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								apps/treasury/static/img/TotalistSpies_bg.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								apps/treasury/static/img/TotalistSpies_bg.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 35 KiB  | 
@@ -14,14 +14,17 @@ from .base import WEISurvey, WEISurveyInformation, WEISurveyAlgorithm, WEIBusInf
 | 
				
			|||||||
from ...models import WEIMembership
 | 
					from ...models import WEIMembership
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORDS = [
 | 
					WORDS = [
 | 
				
			||||||
    '13 organisé', '3ième mi temps', 'Années 2000', 'Apéro', 'BBQ', 'BP', 'Beauf', 'Binge drinking', 'Bon enfant',
 | 
						'ABBA', 'After', 'Alcoolique anonyme', 'Ambiance festive', 'Années 2000', 'Apéro', 'Art',
 | 
				
			||||||
    'Cartouche', 'Catacombes', 'Chansons paillardes', 'Chansons populaires', 'Chanteur', 'Chartreuse', 'Chill',
 | 
						'Baby foot billard biere pong', 'BBQ', 'Before', 'Bière pong', 'Bon enfant', 'Calme', 'Canapé',
 | 
				
			||||||
    'Core', 'DJ', 'Dancefloor', 'Danse', 'David Guetta', 'Disco', 'Eau de vie', 'Électro', 'Escalade', 'Familial',
 | 
						'Chanson paillarde', 'Chanson populaire', 'Chartreuse', 'Cheerleader', 'Chill', 'Choré',
 | 
				
			||||||
    'Fanfare', 'Fracassage', 'Féria', 'Hard rock', 'Hoeggarden', 'House', 'Huit-six', 'IPA', 'Inclusif', 'Inferno',
 | 
						'Cinéma', 'Cocktail', 'Comédie musicle', 'Commercial', 'Copaing', 'Danse', 'Dancefloor',
 | 
				
			||||||
    'Introverti', 'Jager bomb', 'Jazz', 'Jeux d\'alcool', 'Jeux de rôles', 'Jeux vidéo', 'Jul', 'Jus de fruit',
 | 
						'Electro', 'Fanfare', 'Gin tonic', 'Inclusif', 'Jazz', "Jeux d'alcool", 'Jeux de carte',
 | 
				
			||||||
    'Karaoké', 'LGBTQI+', 'Lady Gaga', 'Loup garou', 'Morning beer', 'Métal', 'Nuit blanche', 'Ovalie', 'Psychedelic',
 | 
						'Jeux de rôle', 'Jeux de société', 'JUL', 'Jus de fruit', 'Kfet', 'Kleptomanie assurée',
 | 
				
			||||||
    'Pétanque', 'Rave', 'Reggae', 'Rhum', 'Ricard', 'Rock', 'Rosé', 'Rétro', 'Séducteur', 'Techno', 'Thérapie taxi',
 | 
						'LGBTQ+', 'Livre', 'Morning beer', 'Musique', 'NAPS', 'Paillettes', 'Pastis', 'Paté Hénaff',
 | 
				
			||||||
    'Théâtre', 'Trap', 'Turn up', 'Underground', 'Volley', 'Wati B', 'Zinédine Zidane',
 | 
						'Peluche', 'Pena baiona', "Peu d'alcool", 'Pilier de bar', 'PMU', 'Poulpe', 'Punch', 'Rap',
 | 
				
			||||||
 | 
						'Réveil', 'Rock', 'Rugby', 'Sandwich', 'Serge', 'Shot', 'Sociable', 'Spectacle', 'Techno',
 | 
				
			||||||
 | 
						'Techno house', 'Thérapie Taxi', 'Tradition kchanaises', 'Troisième mi-temps', 'Turn up',
 | 
				
			||||||
 | 
						'Vodka', 'Vodka pomme', 'Volley', 'Vomi stratégique'
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								apps/wei/migrations/0004_auto_20220904_2325.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								apps/wei/migrations/0004_auto_20220904_2325.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					# Generated by Django 2.2.26 on 2022-09-04 21:25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('wei', '0003_bus_size'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AlterField(
 | 
				
			||||||
 | 
					            model_name='weiclub',
 | 
				
			||||||
 | 
					            name='year',
 | 
				
			||||||
 | 
					            field=models.PositiveIntegerField(default=2022, unique=True, verbose_name='year'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
							
								
								
									
										18
									
								
								apps/wei/migrations/0005_auto_20230128_1850.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								apps/wei/migrations/0005_auto_20230128_1850.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					# Generated by Django 2.2.28 on 2023-01-28 17:50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('wei', '0004_auto_20220904_2325'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AlterField(
 | 
				
			||||||
 | 
					            model_name='weiclub',
 | 
				
			||||||
 | 
					            name='year',
 | 
				
			||||||
 | 
					            field=models.PositiveIntegerField(default=2023, unique=True, verbose_name='year'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
@@ -252,7 +252,7 @@ REST_FRAMEWORK = {
 | 
				
			|||||||
        'rest_framework.authentication.TokenAuthentication',
 | 
					        'rest_framework.authentication.TokenAuthentication',
 | 
				
			||||||
        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
 | 
					        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
 | 
					    'DEFAULT_PAGINATION_CLASS': 'apps.api.pagination.CustomPagination',
 | 
				
			||||||
    'PAGE_SIZE': 20,
 | 
					    'PAGE_SIZE': 20,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										72
									
								
								note_kfet/static/css/custom.css
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										72
									
								
								note_kfet/static/css/custom.css
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@@ -65,7 +65,10 @@ mark {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Last BDE colors */
 | 
					/* Last BDE colors */
 | 
				
			||||||
.bg-primary {
 | 
					.bg-primary {
 | 
				
			||||||
    background-color: rgb(102, 83, 105) !important;
 | 
					/*    background-color: rgb(18, 67, 4) !important; */
 | 
				
			||||||
 | 
					/* MODE VIEUXCON=ON */
 | 
				
			||||||
 | 
					/*    background-color: rgb(166, 0, 2) !important; */
 | 
				
			||||||
 | 
					    background-color: rgb(0, 0, 0) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
html {
 | 
					html {
 | 
				
			||||||
@@ -80,15 +83,15 @@ 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: #fff;
 | 
					   color:  rgb(241, 229, 52);
 | 
				
			||||||
    background-color: rgb(102, 83, 105);
 | 
					    background-color: rgb(228, 35, 132);
 | 
				
			||||||
    border-color: rgb(102, 83, 105);
 | 
					    border-color: rgb(228, 35, 132);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-outline-primary {
 | 
					.btn-outline-primary {
 | 
				
			||||||
    color: rgb(102, 83, 105);
 | 
					    color: #fff;
 | 
				
			||||||
    background-color: rgba(248, 249, 250, 0.9);
 | 
					    background-color: #000;
 | 
				
			||||||
    border-color: rgb(102, 83, 105);
 | 
					    border-color: #464647;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.turbolinks-progress-bar {
 | 
					.turbolinks-progress-bar {
 | 
				
			||||||
@@ -98,36 +101,63 @@ body {
 | 
				
			|||||||
.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: #fff;
 | 
					    color:  rgb(241, 229, 52);
 | 
				
			||||||
    background-color: rgb(102, 83, 105);
 | 
					    background-color: rgb(228, 35, 132);
 | 
				
			||||||
    border-color: rgb(102, 83, 105);
 | 
					    border-color: rgb(228, 35, 132);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-primary {
 | 
					.btn-primary {
 | 
				
			||||||
    color: rgba(248, 249, 250, 0.9); 
 | 
					    color:  #fff; 
 | 
				
			||||||
    background-color: rgb(102, 83, 105);
 | 
					    background-color: #000;
 | 
				
			||||||
    border-color: rgb(102, 83, 105);
 | 
					    border-color: #adb5bd;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.border-primary {
 | 
					.border-primary {
 | 
				
			||||||
    border-color: rgb(115, 15, 115) !important; 
 | 
					    border-color: rgb(228, 35, 132) !important; 
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-secondary {
 | 
				
			||||||
 | 
					    color:  #fff;
 | 
				
			||||||
 | 
					    background-color: #000;
 | 
				
			||||||
 | 
					    border-color: #adb5bd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-secondary:hover,
 | 
				
			||||||
 | 
					.btn-secondary:not(:disabled):not(.disabled).active,
 | 
				
			||||||
 | 
					.btn-secondary:not(:disabled):not(.disabled):active {
 | 
				
			||||||
 | 
					    color:  rgb(241, 229, 52);
 | 
				
			||||||
 | 
					    background-color: rgb(228, 35, 132);
 | 
				
			||||||
 | 
					    border-color: rgb(228, 35, 132);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-outline-dark {
 | 
				
			||||||
 | 
					    color: #343a40;
 | 
				
			||||||
 | 
					    border-color: #343a40;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-outline-dark:hover,
 | 
				
			||||||
 | 
					.btn-outline-dark:not(:disabled):not(.disabled).active,
 | 
				
			||||||
 | 
					.btn-outline-dark:not(:disabled):not(.disabled):active {
 | 
				
			||||||
 | 
					    color:  rgb(241, 229, 52);
 | 
				
			||||||
 | 
					    background-color: rgb(228, 35, 132);
 | 
				
			||||||
 | 
					    border-color: rgb(228, 35, 132);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
a {
 | 
					a {
 | 
				
			||||||
    color: rgb(102, 83, 105);
 | 
					    color: rgb(228, 35, 132);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
a:hover {
 | 
					a:hover {
 | 
				
			||||||
    color: rgb(200, 30, 200);
 | 
					    color: rgb(228, 35, 132);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.form-control:focus {
 | 
					.form-control:focus {
 | 
				
			||||||
    box-shadow: 0 0 0 0.25rem rgba(200, 30, 200, 0.25);
 | 
					    box-shadow: 0 0 0 0.25rem rgb(228 35 132 / 50%);
 | 
				
			||||||
    border-color: rgb(200, 30, 200);
 | 
					    border-color: rgb(228, 35, 132);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.btn-outline-primary.focus {
 | 
					.btn-outline-primary.focus {
 | 
				
			||||||
  box-shadow: 0 0 0 0.25rem rgba(200, 30, 200, 0.5);
 | 
					  box-shadow: 0 0 0 0.25rem rgb(228 35 132 / 10%);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,11 +23,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
				
			|||||||
            {% csrf_token %}
 | 
					            {% csrf_token %}
 | 
				
			||||||
            {{ form|crispy }}
 | 
					            {{ form|crispy }}
 | 
				
			||||||
            {{ profile_form|crispy }}
 | 
					            {{ profile_form|crispy }}
 | 
				
			||||||
            {{ soge_form|crispy }}
 | 
					            {% comment "Soge not for membership (only WEI)" %} {{ soge_form|crispy }} {% endcomment %}
 | 
				
			||||||
            <button class="btn btn-success" type="submit">
 | 
					            <button class="btn btn-success" type="submit">
 | 
				
			||||||
                {% trans "Sign up" %}
 | 
					                {% trans "Sign up" %}
 | 
				
			||||||
            </button>
 | 
					            </button>
 | 
				
			||||||
        </form>
 | 
					        </form>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,3 +17,6 @@ django-tables2~=2.3.1
 | 
				
			|||||||
python-memcached~=1.59
 | 
					python-memcached~=1.59
 | 
				
			||||||
phonenumbers~=8.9.10
 | 
					phonenumbers~=8.9.10
 | 
				
			||||||
Pillow>=5.4.1
 | 
					Pillow>=5.4.1
 | 
				
			||||||
 | 
					oauthlib<3.2.1
 | 
				
			||||||
 | 
					lxml<4.9.2
 | 
				
			||||||
 | 
					zipp>=2.0.0,<2.0.1
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tox.ini
									
									
									
									
									
								
							@@ -16,7 +16,7 @@ skipsdist = True
 | 
				
			|||||||
sitepackages = True
 | 
					sitepackages = True
 | 
				
			||||||
deps =
 | 
					deps =
 | 
				
			||||||
    -r{toxinidir}/requirements.txt
 | 
					    -r{toxinidir}/requirements.txt
 | 
				
			||||||
    coverage
 | 
					    coverage<6.5.0
 | 
				
			||||||
commands =
 | 
					commands =
 | 
				
			||||||
    coverage run --omit='apps/scripts*,*_example.py,note_kfet/wsgi.py' --source=apps,note_kfet ./manage.py test apps/
 | 
					    coverage run --omit='apps/scripts*,*_example.py,note_kfet/wsgi.py' --source=apps,note_kfet ./manage.py test apps/
 | 
				
			||||||
    coverage report -m
 | 
					    coverage report -m
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user