diff --git a/apps/activity/forms.py b/apps/activity/forms.py
index 1ca98cef..8b40fdfa 100644
--- a/apps/activity/forms.py
+++ b/apps/activity/forms.py
@@ -26,7 +26,7 @@ class ActivityForm(forms.ModelForm):
clubs = list(Club.objects.filter(PermissionBackend
.filter_queryset(get_current_request(), Club, "view")).all())
shuffle(clubs)
- self.fields["organizer"].widget.attrs["placeholder"] = ", ".join(club.name for club in clubs[:4]) + ", ..."
+ self.fields["organizer"].widget.attrs["placeholder"] = ", ".join(club.name for club in clubs[:4]) + ",…"
def clean_organizer(self):
organizer = self.cleaned_data['organizer']
@@ -53,7 +53,7 @@ class ActivityForm(forms.ModelForm):
model=Note,
attrs={
"api_url": "/api/note/note/",
- 'placeholder': 'Note de l\'événement sur laquelle envoyer les crédits d\'invitation ...'
+ 'placeholder': 'Note de l\'événement sur laquelle envoyer les crédits d\'invitation…'
},
),
"attendees_club": Autocomplete(
@@ -115,7 +115,7 @@ class GuestForm(forms.ModelForm):
# We don't evaluate the content type at launch because the DB might be not initialized
'api_url_suffix':
lambda: '&polymorphic_ctype=' + str(ContentType.objects.get_for_model(NoteUser).pk),
- 'placeholder': 'Note ...',
+ 'placeholder': 'Note…',
},
),
}
diff --git a/apps/activity/models.py b/apps/activity/models.py
index f8e5fab9..e1ecbc3b 100644
--- a/apps/activity/models.py
+++ b/apps/activity/models.py
@@ -126,7 +126,7 @@ class Activity(models.Model):
@transaction.atomic
def save(self, *args, **kwargs):
"""
- Update the activity wiki page each time the activity is updated (validation, change description, ...)
+ Update the activity wiki page each time the activity is updated (validation, change description,…)
"""
if self.date_end < self.date_start:
raise ValidationError(_("The end date must be after the start date."))
diff --git a/apps/activity/templates/activity/activity_entry.html b/apps/activity/templates/activity/activity_entry.html
index 0286bdb7..de6b370a 100644
--- a/apps/activity/templates/activity/activity_entry.html
+++ b/apps/activity/templates/activity/activity_entry.html
@@ -37,7 +37,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
-
+
diff --git a/apps/member/forms.py b/apps/member/forms.py
index ab24ded6..7ae3d52f 100644
--- a/apps/member/forms.py
+++ b/apps/member/forms.py
@@ -210,7 +210,7 @@ class MembershipForm(forms.ModelForm):
attrs={
'api_url': '/api/user/',
'name_field': 'username',
- 'placeholder': 'Nom ...',
+ 'placeholder': 'Nom…',
},
),
'date_start': DatePickerInput(),
@@ -227,7 +227,7 @@ class MembershipRolesForm(forms.ModelForm):
attrs={
'api_url': '/api/user/',
'name_field': 'username',
- 'placeholder': 'Nom ...',
+ 'placeholder': 'Nom…',
},
),
)
diff --git a/apps/note/forms.py b/apps/note/forms.py
index 791abb51..fa852548 100644
--- a/apps/note/forms.py
+++ b/apps/note/forms.py
@@ -26,7 +26,7 @@ class TransactionTemplateForm(forms.ModelForm):
# We don't evaluate the content type at launch because the DB might be not initialized
'api_url_suffix':
lambda: '&polymorphic_ctype=' + str(ContentType.objects.get_for_model(NoteClub).pk),
- 'placeholder': 'Note ...',
+ 'placeholder': 'Note…',
},
),
'amount': AmountInput(),
@@ -43,7 +43,7 @@ class SearchTransactionForm(forms.Form):
resetable=True,
attrs={
'api_url': '/api/note/alias/',
- 'placeholder': 'Note ...',
+ 'placeholder': 'Note…',
},
),
)
@@ -57,7 +57,7 @@ class SearchTransactionForm(forms.Form):
resetable=True,
attrs={
'api_url': '/api/note/alias/',
- 'placeholder': 'Note ...',
+ 'placeholder': 'Note…',
},
),
)
diff --git a/apps/note/migrations/0006_trust.py b/apps/note/migrations/0006_trust.py
index 4ed059fb..278be85c 100644
--- a/apps/note/migrations/0006_trust.py
+++ b/apps/note/migrations/0006_trust.py
@@ -19,7 +19,7 @@ class Migration(migrations.Migration):
('trusting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trusting', to='note.Note', verbose_name='trusting')),
],
options={
- 'verbose_name': 'frienship',
+ 'verbose_name': 'friendship',
'verbose_name_plural': 'friendships',
'unique_together': {('trusting', 'trusted')},
},
diff --git a/apps/note/models/notes.py b/apps/note/models/notes.py
index 6db9e5f8..80371334 100644
--- a/apps/note/models/notes.py
+++ b/apps/note/models/notes.py
@@ -240,7 +240,7 @@ class Trust(models.Model):
)
class Meta:
- verbose_name = _("frienship")
+ verbose_name = _("friendship")
verbose_name_plural = _("friendships")
unique_together = ("trusting", "trusted")
diff --git a/apps/note/models/transactions.py b/apps/note/models/transactions.py
index 3c6b4c7d..42436980 100644
--- a/apps/note/models/transactions.py
+++ b/apps/note/models/transactions.py
@@ -20,7 +20,7 @@ class TemplateCategory(models.Model):
"""
Defined a recurrent transaction category
- Example: food, softs, ...
+ Example: food, softs,…
"""
name = models.CharField(
verbose_name=_("name"),
@@ -40,7 +40,7 @@ class TransactionTemplate(models.Model):
"""
Defined a recurrent transaction
- associated to selling something (a burger, a beer, ...)
+ associated to selling something (a burger, a beer,…)
"""
name = models.CharField(
verbose_name=_('name'),
diff --git a/apps/note/templates/note/conso_form.html b/apps/note/templates/note/conso_form.html
index d6044b87..00bd3d98 100644
--- a/apps/note/templates/note/conso_form.html
+++ b/apps/note/templates/note/conso_form.html
@@ -40,7 +40,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
{# User search with autocompletion #}
diff --git a/apps/note/templates/note/transaction_form.html b/apps/note/templates/note/transaction_form.html
index bdf047a5..1fb7a139 100644
--- a/apps/note/templates/note/transaction_form.html
+++ b/apps/note/templates/note/transaction_form.html
@@ -66,7 +66,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
{% endfor %}
-
+
{% render_table table %}
@@ -70,11 +70,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
headers: {"X-CSRFTOKEN": CSRF_TOKEN}
})
.done(function() {
- addMsg('{% trans "button successfully deleted "%}','success');
+ addMsg('{% trans "button successfully deleted"%}','success');
$("#buttons_table").load(location.pathname + "?search=" + $("#search_field").val().replace(" ", "%20") + " #buttons_table");
})
.fail(function() {
- addMsg('{% trans "Unable to delete button "%} #' + button_id, 'danger')
+ addMsg('{% trans "Unable to delete button"%} #' + button_id, 'danger')
});
}
diff --git a/apps/permission/fixtures/initial.json b/apps/permission/fixtures/initial.json
index 96431ca2..7377ae83 100644
--- a/apps/permission/fixtures/initial.json
+++ b/apps/permission/fixtures/initial.json
@@ -1572,7 +1572,7 @@
"mask": 1,
"field": "information_json",
"permanent": false,
- "description": "Modifier les informations (sondage 1A, ...) d'une inscription WEI"
+ "description": "Modifier les informations (sondage 1A,…) d'une inscription WEI"
}
},
{
diff --git a/apps/permission/models.py b/apps/permission/models.py
index 7ca309ca..238bd95f 100644
--- a/apps/permission/models.py
+++ b/apps/permission/models.py
@@ -59,7 +59,7 @@ class InstancedPermission:
# Force insertion, no data verification, no trigger
obj._force_save = True
- # We don't want to trigger any signal (log, ...)
+ # We don't want to trigger any signal (log,…)
obj._no_signal = True
Model.save(obj, force_insert=True)
ret = self.model.model_class().objects.filter(self.query & Q(pk=0)).exists()
@@ -227,7 +227,7 @@ class Permission(models.Model):
def compute_param(value, **kwargs):
"""
A parameter is given by a list. The first argument is the name of the parameter.
- The parameters are the user, the club, and some classes (Note, ...)
+ The parameters are the user, the club, and some classes (Note,…)
If there are more arguments in the list, then attributes are queried.
For example, ["user", "note", "balance"] will return the balance of the note of the user.
If an argument is a list, then this is interpreted with a function call:
diff --git a/apps/scripts b/apps/scripts
index 86bc2d26..48d9a8b5 160000
--- a/apps/scripts
+++ b/apps/scripts
@@ -1 +1 @@
-Subproject commit 86bc2d269853ad60391e242ff655f0dc83b5967d
+Subproject commit 48d9a8b5d299160f0d48440f5544f0f786caec97
diff --git a/apps/treasury/forms.py b/apps/treasury/forms.py
index 02441189..64fe913f 100644
--- a/apps/treasury/forms.py
+++ b/apps/treasury/forms.py
@@ -174,7 +174,7 @@ class SogeCreditForm(forms.ModelForm):
attrs={
'api_url': '/api/user/',
'name_field': 'username',
- 'placeholder': 'Nom ...',
+ 'placeholder': 'Nom…',
},
),
}
diff --git a/apps/treasury/models.py b/apps/treasury/models.py
index 427d796d..397b9388 100644
--- a/apps/treasury/models.py
+++ b/apps/treasury/models.py
@@ -358,7 +358,7 @@ class SogeCredit(models.Model):
def invalidate(self):
"""
Invalidating a Société générale delete the transaction of the bank if it was already created.
- Treasurers must know what they do, With Great Power Comes Great Responsibility...
+ Treasurers must know what they do, With Great Power Comes Great Responsibility…
"""
if self.valid:
self.credit_transaction.valid = False
@@ -422,7 +422,7 @@ class SogeCredit(models.Model):
"""
Deleting a SogeCredit is equivalent to say that the Société générale didn't pay.
Treasurers must know what they do, this is difficult to undo this operation.
- With Great Power Comes Great Responsibility...
+ With Great Power Comes Great Responsibility…
"""
total_fee = sum(transaction.total for transaction in self.transactions.all() if not transaction.valid)
diff --git a/apps/treasury/templates/treasury/sogecredit_list.html b/apps/treasury/templates/treasury/sogecredit_list.html
index 4aecb8eb..79549a33 100644
--- a/apps/treasury/templates/treasury/sogecredit_list.html
+++ b/apps/treasury/templates/treasury/sogecredit_list.html
@@ -29,7 +29,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
-
+
diff --git a/apps/wei/forms/registration.py b/apps/wei/forms/registration.py
index e934fb50..5d82308d 100644
--- a/apps/wei/forms/registration.py
+++ b/apps/wei/forms/registration.py
@@ -45,7 +45,7 @@ class WEIRegistrationForm(forms.ModelForm):
attrs={
'api_url': '/api/user/',
'name_field': 'username',
- 'placeholder': 'Nom ...',
+ 'placeholder': 'Nom …',
},
),
"birth_date": DatePickerInput(options={'minDate': '1900-01-01',
@@ -130,14 +130,14 @@ class WEIMembershipForm(forms.ModelForm):
Bus,
attrs={
'api_url': '/api/wei/bus/',
- 'placeholder': 'Bus ...',
+ 'placeholder': 'Bus…',
}
),
"team": Autocomplete(
BusTeam,
attrs={
'api_url': '/api/wei/team/',
- 'placeholder': 'Équipe ...',
+ 'placeholder': 'Équipe…',
},
resetable=True,
),
@@ -167,7 +167,7 @@ class BusForm(forms.ModelForm):
WEIClub,
attrs={
'api_url': '/api/wei/club/',
- 'placeholder': 'WEI ...',
+ 'placeholder': 'WEI…',
},
),
}
@@ -182,7 +182,7 @@ class BusTeamForm(forms.ModelForm):
Bus,
attrs={
'api_url': '/api/wei/bus/',
- 'placeholder': 'Bus ...',
+ 'placeholder': 'Bus…',
},
),
"color": ColorWidget(),
diff --git a/apps/wei/models.py b/apps/wei/models.py
index 6b7272b4..bbc793a7 100644
--- a/apps/wei/models.py
+++ b/apps/wei/models.py
@@ -153,7 +153,7 @@ class BusTeam(models.Model):
class WEIRole(Role):
"""
- A Role for the WEI can be bus chief, team chief, free electron, ...
+ A Role for the WEI can be bus chief, team chief, free electron,…
"""
class Meta:
@@ -258,7 +258,7 @@ class WEIRegistration(models.Model):
@property
def information(self):
"""
- The information about the registration (the survey for the new members, the bus for the older members, ...)
+ The information about the registration (the survey for the new members, the bus for the older members,…)
are stored in a dictionary that can evolve following the years. The dictionary is stored as a JSON string.
"""
return json.loads(self.information_json)
diff --git a/apps/wei/templates/wei/weimembership_list.html b/apps/wei/templates/wei/weimembership_list.html
index fe9506b2..c967afdf 100644
--- a/apps/wei/templates/wei/weimembership_list.html
+++ b/apps/wei/templates/wei/weimembership_list.html
@@ -8,7 +8,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% block profile_content %}