mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 22:23:23 +00:00
Merge branch 'bugfix' into 'master'
Forum and Com fixes See merge request ae/Sith!147
This commit is contained in:
commit
23291ac60e
15
com/views.py
15
com/views.py
@ -58,7 +58,6 @@ class PosterForm(forms.ModelForm):
|
|||||||
fields = ['name', 'file', 'club', 'screens', 'date_begin', 'date_end', 'display_time']
|
fields = ['name', 'file', 'club', 'screens', 'date_begin', 'date_end', 'display_time']
|
||||||
widgets = {
|
widgets = {
|
||||||
'screens': forms.CheckboxSelectMultiple,
|
'screens': forms.CheckboxSelectMultiple,
|
||||||
'is_moderated': forms.HiddenInput()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
date_begin = forms.DateTimeField(['%Y-%m-%d %H:%M:%S'], label=_("Start date"),
|
date_begin = forms.DateTimeField(['%Y-%m-%d %H:%M:%S'], label=_("Start date"),
|
||||||
@ -72,7 +71,7 @@ class PosterForm(forms.ModelForm):
|
|||||||
if self.user:
|
if self.user:
|
||||||
if not self.user.is_com_admin:
|
if not self.user.is_com_admin:
|
||||||
self.fields['club'].queryset = Club.objects.filter(id__in=self.user.clubs_with_rights)
|
self.fields['club'].queryset = Club.objects.filter(id__in=self.user.clubs_with_rights)
|
||||||
self.fields['display_time'].widget = forms.HiddenInput()
|
self.fields.pop('display_time')
|
||||||
|
|
||||||
|
|
||||||
class ComTabsMixin(TabedViewMixin):
|
class ComTabsMixin(TabedViewMixin):
|
||||||
@ -572,6 +571,18 @@ class PosterEditBaseView(UpdateView):
|
|||||||
form_class = PosterForm
|
form_class = PosterForm
|
||||||
template_name = 'com/poster_edit.jinja'
|
template_name = 'com/poster_edit.jinja'
|
||||||
|
|
||||||
|
def get_initial(self):
|
||||||
|
init = {}
|
||||||
|
try:
|
||||||
|
init['date_begin'] = self.object.date_begin.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
init['date_end'] = self.object.date_end.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
return init
|
||||||
|
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
if 'club_id' in kwargs and kwargs['club_id']:
|
if 'club_id' in kwargs and kwargs['club_id']:
|
||||||
try:
|
try:
|
||||||
|
@ -31,6 +31,7 @@ from django.utils import timezone
|
|||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from itertools import chain
|
||||||
import pytz
|
import pytz
|
||||||
|
|
||||||
from core.models import User, Group
|
from core.models import User, Group
|
||||||
@ -143,6 +144,9 @@ class Forum(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s" % (self.name)
|
return "%s" % (self.name)
|
||||||
|
|
||||||
|
def get_full_name(self):
|
||||||
|
return '/'.join(chain.from_iterable([[parent.name for parent in self.get_parent_list()], [self.name]]))
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('forum:view_forum', kwargs={'forum_id': self.id})
|
return reverse('forum:view_forum', kwargs={'forum_id': self.id})
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<div id="forum">
|
<div id="forum">
|
||||||
<h3>{{ forum.name }}</h3>
|
<h3>{{ forum.name }}</h3>
|
||||||
<p>
|
<p>
|
||||||
{% if user.is_in_group(settings.SITH_GROUP_FORUM_ADMIN_ID) or user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) %}
|
{% if user.is_in_group(settings.SITH_GROUP_FORUM_ADMIN_ID) or user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) or user.can_edit(forum) %}
|
||||||
<a class="ib button" href="{{ url('forum:new_forum') }}?parent={{ forum.id }}">{% trans %}New forum{% endtrans %}</a> <br/>
|
<a class="ib button" href="{{ url('forum:new_forum') }}?parent={{ forum.id }}">{% trans %}New forum{% endtrans %}</a> <br/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if not forum.is_category %}
|
{% if not forum.is_category %}
|
||||||
|
@ -71,6 +71,7 @@ class ForumFavoriteTopics(ListView):
|
|||||||
topic_list = self.request.user.favorite_topics.all()
|
topic_list = self.request.user.favorite_topics.all()
|
||||||
return topic_list
|
return topic_list
|
||||||
|
|
||||||
|
|
||||||
class ForumLastUnread(ListView):
|
class ForumLastUnread(ListView):
|
||||||
model = ForumTopic
|
model = ForumTopic
|
||||||
template_name = "forum/last_unread.jinja"
|
template_name = "forum/last_unread.jinja"
|
||||||
@ -85,12 +86,18 @@ class ForumLastUnread(ListView):
|
|||||||
return topic_list
|
return topic_list
|
||||||
|
|
||||||
|
|
||||||
|
class ForumNameField(forms.ModelChoiceField):
|
||||||
|
def label_from_instance(self, obj):
|
||||||
|
return obj.get_full_name()
|
||||||
|
|
||||||
|
|
||||||
class ForumForm(forms.ModelForm):
|
class ForumForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Forum
|
model = Forum
|
||||||
fields = ['name', 'parent', 'number', 'owner_club', 'is_category', 'edit_groups', 'view_groups']
|
fields = ['name', 'parent', 'number', 'owner_club', 'is_category', 'edit_groups', 'view_groups']
|
||||||
edit_groups = make_ajax_field(Forum, 'edit_groups', 'groups', help_text="")
|
edit_groups = make_ajax_field(Forum, 'edit_groups', 'groups', help_text="")
|
||||||
view_groups = make_ajax_field(Forum, 'view_groups', 'groups', help_text="")
|
view_groups = make_ajax_field(Forum, 'view_groups', 'groups', help_text="")
|
||||||
|
parent = ForumNameField(Forum.objects.all())
|
||||||
|
|
||||||
|
|
||||||
class ForumCreateView(CanCreateMixin, CreateView):
|
class ForumCreateView(CanCreateMixin, CreateView):
|
||||||
|
Loading…
Reference in New Issue
Block a user