#: organization/network/models.py:328
msgid "activity framework"
-msgstr " cadre de l'activité"
+msgstr "corps de l'activité"
#: organization/network/models.py:334
msgid "activity function"
def sub_topics(topic):
return ProjectTopic.objects.filter(parent=topic)
-
-@register.filter
-def classname(obj):
- return obj.__class__.__name__
-
-
@register.filter
def classname(obj):
return obj.__class__.__name__
else :
app_label_short = app_label
return app_label_short
+
+@register.as_tag
+def activity_statuses(*args):
+ return ActivityStatus.objects.filter(display=True)
+
+@register.filter
+def get_team_persons(status, team):
+ persons = []
+ for activity in status.activities.filter(teams__in=[team]):
+ if not activity.person in persons:
+ persons.append(activity.person)
+ return persons
template_name='magazine/article/article_detail.html'
context_object_name = 'article'
+ def get_object(self, **kwargs):
+ articles = self.model.objects.published(for_user=self.request.user).select_related()
+ return get_object_or_404(articles, slug=kwargs['slug'])
+
def get_context_data(self, **kwargs):
context = super(ArticleDetailView, self).get_context_data(**kwargs)
template_name='magazine/article/article_list.html'
context_object_name = 'article'
+ def get_queryset(self, **kwargs):
+ return self.model.objects.published(for_user=self.request.user).select_related()
+
def get_context_data(self, **kwargs):
context = super(ArticleListView, self).get_context_data(**kwargs)
return context
class ActivityStatus(Named):
+ order = models.IntegerField(_('order number'), default=100)
+ display = models.BooleanField(_('display on team page'), blank=True, default=False)
+
class Meta:
verbose_name = _('activity status')
+ ordering = ['order']
class ActivityGrade(Named):
person = models.ForeignKey('Person', verbose_name=_('person'), related_name='activities')
weeks = models.IntegerField(_('number of weeks'), blank=True, null=True)
- status = models.ForeignKey(ActivityStatus, verbose_name=_('status'), blank=True, null=True, on_delete=models.SET_NULL)
+ status = models.ForeignKey(ActivityStatus, verbose_name=_('status'), blank=True, null=True, related_name='activities', on_delete=models.SET_NULL)
is_permanent = models.BooleanField(_('permanent'), default=False)
framework = models.ForeignKey(ActivityFramework, verbose_name=_('framework'), blank=True, null=True, on_delete=models.SET_NULL)
grade = models.ForeignKey(ActivityGrade, verbose_name=_('grade'), blank=True, null=True, on_delete=models.SET_NULL)
{% endwith %}
{% endblock %}
+{% block page_person_list %}
+<div class="white-bg pb2">
+ <hr class="mt0" />
+ <div class="container">
+ {% activity_statuses as statuses %}
+ {% for status in statuses %}
+ {{ status.name }} :
+ {% for person in status|get_team_persons:page.teampage.team %}
+ {{ person.title }}{% if not forloop.last %}, {% endif %}
+ {% endfor %}
+ <br/>
+ {% endfor %}
+ </div>
+</div>
+{% endblock %}
+
+
{% block related_project %}
{% if page.teampage.team.leader_projects.all or page.teampage.team.partner_projects.all %}
<div class="white-bg pb2">
psycopg2
pyquery
humanize
-Django==1.9.10
+Django==1.9.11
mezzanine==4.2.2
django-modeltranslation
django-meta