mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-06-23 19:06:37 +02:00
Compare commits
8 Commits
0e096ce7cc
...
v1.0.3
Author | SHA1 | Date | |
---|---|---|---|
2ab5c4082a | |||
053225c6dc | |||
ac7b86651d | |||
21f5a5d566 | |||
ff9c78ed4e | |||
1e121297d1 | |||
28117c8c61 | |||
4be4a18dd1 |
@ -5,7 +5,7 @@ from django.contrib import admin
|
|||||||
from note_kfet.admin import admin_site
|
from note_kfet.admin import admin_site
|
||||||
|
|
||||||
from .forms import GuestForm
|
from .forms import GuestForm
|
||||||
from .models import Activity, ActivityType, Entry, Guest
|
from .models import Activity, ActivityType, Entry, Guest, Opener
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Activity, site=admin_site)
|
@admin.register(Activity, site=admin_site)
|
||||||
@ -45,3 +45,11 @@ class EntryAdmin(admin.ModelAdmin):
|
|||||||
Admin customisation for Entry
|
Admin customisation for Entry
|
||||||
"""
|
"""
|
||||||
list_display = ('note', 'activity', 'time', 'guest')
|
list_display = ('note', 'activity', 'time', 'guest')
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Opener, site=admin_site)
|
||||||
|
class OpenerAdmin(admin.ModelAdmin):
|
||||||
|
"""
|
||||||
|
Admin customisation for Opener
|
||||||
|
"""
|
||||||
|
list_display = ('activity', 'opener')
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* On form submit, create a new friendship
|
* On form submit, add a new opener
|
||||||
*/
|
*/
|
||||||
function form_create_opener (e) {
|
function form_create_opener (e) {
|
||||||
// Do not submit HTML form
|
// Do not submit HTML form
|
||||||
@ -16,9 +16,9 @@ function form_create_opener (e) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a trust between users
|
* Add an opener between an activity and a user
|
||||||
* @param trusting:Integer trusting note id
|
* @param activity:Integer activity id
|
||||||
* @param trusted:Integer trusted note id
|
* @param opener:Integer user note id
|
||||||
*/
|
*/
|
||||||
function create_opener(activity, opener) {
|
function create_opener(activity, opener) {
|
||||||
$.post('/api/activity/opener/', {
|
$.post('/api/activity/opener/', {
|
||||||
@ -28,36 +28,15 @@ function create_opener(activity, opener) {
|
|||||||
}).done(function () {
|
}).done(function () {
|
||||||
// Reload tables
|
// Reload tables
|
||||||
$('#opener_table').load(location.pathname + ' #opener_table')
|
$('#opener_table').load(location.pathname + ' #opener_table')
|
||||||
addMsg(gettext('Friendship successfully added'), 'success')
|
addMsg(gettext('Opener successfully added'), 'success')
|
||||||
}).fail(function (xhr, _textStatus, _error) {
|
}).fail(function (xhr, _textStatus, _error) {
|
||||||
errMsg(xhr.responseJSON)
|
errMsg(xhr.responseJSON)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On form submit, create a new friendship
|
* On click of "delete", delete the opener
|
||||||
function create_opener (e) {
|
* @param button_id:Integer Opener id to remove
|
||||||
// Do not submit HTML form
|
|
||||||
e.preventDefault()
|
|
||||||
|
|
||||||
// Get data and send to API
|
|
||||||
const formData = new FormData(e.target)
|
|
||||||
$.post('/api/activity/opener/', {
|
|
||||||
csrfmiddlewaretoken: formData.get('csrfmiddlewaretoken'),
|
|
||||||
activity: formData.get('activity'),
|
|
||||||
opener: formData.get('opener')
|
|
||||||
}).done(function () {
|
|
||||||
// Reload table
|
|
||||||
$('#opener_table').load(location.pathname + ' #opener_table')
|
|
||||||
addMsg(gettext('Alias successfully added'), 'success')
|
|
||||||
}).fail(function (xhr, _textStatus, _error) {
|
|
||||||
errMsg(xhr.responseJSON)
|
|
||||||
})
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* On click of "delete", delete the trust
|
|
||||||
* @param button_id:Integer Trust id to remove
|
|
||||||
*/
|
*/
|
||||||
function delete_button (button_id) {
|
function delete_button (button_id) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@ -65,7 +44,7 @@ function delete_button (button_id) {
|
|||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
headers: { 'X-CSRFTOKEN': CSRF_TOKEN }
|
headers: { 'X-CSRFTOKEN': CSRF_TOKEN }
|
||||||
}).done(function () {
|
}).done(function () {
|
||||||
addMsg(gettext('Friendship successfully deleted'), 'success')
|
addMsg(gettext('Opener successfully deleted'), 'success')
|
||||||
$('#opener_table').load(location.pathname + ' #opener_table')
|
$('#opener_table').load(location.pathname + ' #opener_table')
|
||||||
}).fail(function (xhr, _textStatus, _error) {
|
}).fail(function (xhr, _textStatus, _error) {
|
||||||
errMsg(xhr.responseJSON)
|
errMsg(xhr.responseJSON)
|
||||||
|
@ -166,8 +166,7 @@ class UserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
|||||||
# Display only the most recent membership
|
# Display only the most recent membership
|
||||||
club_list = club_list.distinct("club__name")\
|
club_list = club_list.distinct("club__name")\
|
||||||
if settings.DATABASES["default"]["ENGINE"] == 'django.db.backends.postgresql' else club_list
|
if settings.DATABASES["default"]["ENGINE"] == 'django.db.backends.postgresql' else club_list
|
||||||
club_list_order_by = self.request.GET.getlist("membership-sort", ("club__name", "-date_start"))
|
membership_table = MembershipTable(data=club_list, prefix='membership-')
|
||||||
membership_table = MembershipTable(data=club_list, prefix='membership-', order_by=club_list_order_by)
|
|
||||||
membership_table.paginate(per_page=10, page=self.request.GET.get("membership-page", 1))
|
membership_table.paginate(per_page=10, page=self.request.GET.get("membership-page", 1))
|
||||||
context['club_list'] = membership_table
|
context['club_list'] = membership_table
|
||||||
|
|
||||||
@ -477,8 +476,7 @@ class ClubDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
|||||||
managers = Membership.objects.filter(club=self.object, roles__name="Bureau de club",
|
managers = Membership.objects.filter(club=self.object, roles__name="Bureau de club",
|
||||||
date_start__lte=date.today(), date_end__gte=date.today())\
|
date_start__lte=date.today(), date_end__gte=date.today())\
|
||||||
.order_by('user__last_name').all()
|
.order_by('user__last_name').all()
|
||||||
managers_order_by = self.request.GET.getlist("managers-sort", ('user__last_name'))
|
context["managers"] = ClubManagerTable(data=managers, prefix="managers-")
|
||||||
context["managers"] = ClubManagerTable(data=managers, prefix="managers-", order_by=managers_order_by)
|
|
||||||
# transaction history
|
# transaction history
|
||||||
club_transactions = Transaction.objects.all().filter(Q(source=club.note) | Q(destination=club.note))\
|
club_transactions = Transaction.objects.all().filter(Q(source=club.note) | Q(destination=club.note))\
|
||||||
.filter(PermissionBackend.filter_queryset(self.request, Transaction, "view"))\
|
.filter(PermissionBackend.filter_queryset(self.request, Transaction, "view"))\
|
||||||
@ -496,8 +494,7 @@ class ClubDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
|||||||
club_member = club_member.distinct("user__username")\
|
club_member = club_member.distinct("user__username")\
|
||||||
if settings.DATABASES["default"]["ENGINE"] == 'django.db.backends.postgresql' else club_member
|
if settings.DATABASES["default"]["ENGINE"] == 'django.db.backends.postgresql' else club_member
|
||||||
|
|
||||||
membership_order_by = self.request.GET.getlist("membership-sort", ("user__username", "-date_start"))
|
membership_table = MembershipTable(data=club_member, prefix="membership-")
|
||||||
membership_table = MembershipTable(data=club_member, prefix="membership-", order_by=membership_order_by)
|
|
||||||
membership_table.paginate(per_page=5, page=self.request.GET.get('membership-page', 1))
|
membership_table.paginate(per_page=5, page=self.request.GET.get('membership-page', 1))
|
||||||
context['member_list'] = membership_table
|
context['member_list'] = membership_table
|
||||||
|
|
||||||
|
@ -3167,12 +3167,12 @@
|
|||||||
"activity",
|
"activity",
|
||||||
"entry"
|
"entry"
|
||||||
],
|
],
|
||||||
"query": "{\"activity__opener__in\": [\"user\", \"note\", \"activity_responsible\", [\"all\"]], \"activity__open\": true, \"activity__activity_type__manage_entries\":true}",
|
"query": "{\"activity__opener__in\": [\"user\", \"note\", \"activity_responsible\", [\"all\"]]}",
|
||||||
"type": "view",
|
"type": "view",
|
||||||
"mask": 2,
|
"mask": 2,
|
||||||
"field": "",
|
"field": "",
|
||||||
"permanent": false,
|
"permanent": false,
|
||||||
"description": "Voir les entrées des activités ouvertes dont l'utilisateur⋅rice est ouvreur⋅se"
|
"description": "Voir les entrées des activités dont l'utilisateur⋅rice est ouvreur⋅se"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -3183,12 +3183,12 @@
|
|||||||
"activity",
|
"activity",
|
||||||
"guest"
|
"guest"
|
||||||
],
|
],
|
||||||
"query": "{\"activity__pk__in\": [\"user\", \"note\", \"activity_responsible\", [\"all\"]], \"activity__open\": true, \"activity__activity_type__manage_entries\":true}",
|
"query": "{\"activity__opener__in\": [\"user\", \"note\", \"activity_responsible\", [\"all\"]]}",
|
||||||
"type": "view",
|
"type": "view",
|
||||||
"mask": 2,
|
"mask": 2,
|
||||||
"field": "",
|
"field": "",
|
||||||
"permanent": false,
|
"permanent": false,
|
||||||
"description": "Voir les invité⋅es des activités ouvertes dont l'utilisateur⋅rice est ouvreur⋅se"
|
"description": "Voir les invité⋅es des activités dont l'utilisateur⋅rice est ouvreur⋅se"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
\renewcommand{\headrulewidth}{0pt}
|
\renewcommand{\headrulewidth}{0pt}
|
||||||
\cfoot{
|
\cfoot{
|
||||||
\small{\MonNom ~--~ \MonAdresseRue ~ \MonAdresseVille ~--~ Téléphone : +33(0)7 78 17 22 34\newline
|
\small{\MonNom ~--~ \MonAdresseRue ~ \MonAdresseVille ~--~ Téléphone : +33(0)7 78 17 22 34\newline
|
||||||
Site web : bde.ens-cachan.fr ~--~ E-mail : tresorerie.bde@lists.crans.org \newline Numéro SIRET : 399 485 838 00029
|
E-mail : tresorerie.bde@lists.crans.org ~--~ Numéro SIRET : 399 485 838 00029
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
docs/faq.rst
12
docs/faq.rst
@ -177,11 +177,13 @@ Contributeur⋅rices
|
|||||||
|
|
||||||
Liste des contributeur⋅rices majeur⋅es, par ordre alphabétique :
|
Liste des contributeur⋅rices majeur⋅es, par ordre alphabétique :
|
||||||
|
|
||||||
* Pierre-André « PAC » COMBY
|
* bleizi
|
||||||
* Emmy « ÿnérant » D'ANELLO
|
* erdnaxe
|
||||||
* Benjamin « esum » GRAILLOT
|
* esum
|
||||||
* Alexandre « erdnaxe » IOOSS
|
* korenst1
|
||||||
* Nicolas « nicomarg » MARGULIES
|
* nicomarg
|
||||||
|
* PAC
|
||||||
|
* ÿnérant
|
||||||
|
|
||||||
|
|
||||||
Hébergement
|
Hébergement
|
||||||
|
@ -17,6 +17,14 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
|
#: apps/member/static/member/js/alias.js:17
|
||||||
|
msgid "Opener successfully added"
|
||||||
|
msgstr "Ouvreureuse ajouté avec succès"
|
||||||
|
|
||||||
|
#: apps/member/static/member/js/alias.js:17
|
||||||
|
msgid "Opener successfully deleted"
|
||||||
|
msgstr "Ouvreureuse supprimé avec succès"
|
||||||
|
|
||||||
#: apps/member/static/member/js/alias.js:17
|
#: apps/member/static/member/js/alias.js:17
|
||||||
msgid "Alias successfully added"
|
msgid "Alias successfully added"
|
||||||
msgstr "Alias ajouté avec succès"
|
msgstr "Alias ajouté avec succès"
|
||||||
|
Reference in New Issue
Block a user