From 09a86a6c46ff24912ebded7fc19b791ad1fd5ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Bouttier?= Date: Fri, 6 Oct 2017 01:33:03 +0200 Subject: [PATCH] remove old volunteers app --- volunteers/__init__.py | 0 volunteers/admin.py | 12 --- volunteers/apps.py | 5 -- volunteers/forms.py | 23 ------ volunteers/migrations/0001_initial.py | 40 ---------- volunteers/migrations/__init__.py | 0 volunteers/models.py | 23 ------ .../volunteers/volunteer_enrole.html | 31 -------- .../templates/volunteers/volunteer_list.html | 72 ------------------ volunteers/tests.py | 3 - volunteers/urls.py | 13 ---- volunteers/views.py | 75 ------------------- 12 files changed, 297 deletions(-) delete mode 100644 volunteers/__init__.py delete mode 100644 volunteers/admin.py delete mode 100644 volunteers/apps.py delete mode 100644 volunteers/forms.py delete mode 100644 volunteers/migrations/0001_initial.py delete mode 100644 volunteers/migrations/__init__.py delete mode 100644 volunteers/models.py delete mode 100644 volunteers/templates/volunteers/volunteer_enrole.html delete mode 100644 volunteers/templates/volunteers/volunteer_list.html delete mode 100644 volunteers/tests.py delete mode 100644 volunteers/urls.py delete mode 100644 volunteers/views.py diff --git a/volunteers/__init__.py b/volunteers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/volunteers/admin.py b/volunteers/admin.py deleted file mode 100644 index 895e090..0000000 --- a/volunteers/admin.py +++ /dev/null @@ -1,12 +0,0 @@ -from django.contrib import admin - -from ponyconf.admin import SiteAdminMixin - -from .models import Activity - - -class ActivityAdmin(SiteAdminMixin, admin.ModelAdmin): - pass - - -admin.site.register(Activity, ActivityAdmin) diff --git a/volunteers/apps.py b/volunteers/apps.py deleted file mode 100644 index be1e32e..0000000 --- a/volunteers/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class VolunteersConfig(AppConfig): - name = 'volunteers' diff --git a/volunteers/forms.py b/volunteers/forms.py deleted file mode 100644 index 7666d45..0000000 --- a/volunteers/forms.py +++ /dev/null @@ -1,23 +0,0 @@ -from django import forms - -from .models import Activity - - -class ActivityForm(forms.ModelForm): - class Meta: - model = Activity - fields=['name', 'description', 'participants'] - - -class VolunteerFilterForm(forms.Form): - activity = forms.MultipleChoiceField( - required=False, - widget=forms.CheckboxSelectMultiple, - choices=[], - ) - - def __init__(self, *args, **kwargs): - site = kwargs.pop('site') - super().__init__(*args, **kwargs) - activities = Activity.objects.filter(site=site) - self.fields['activity'].choices = activities.values_list('slug', 'name') diff --git a/volunteers/migrations/0001_initial.py b/volunteers/migrations/0001_initial.py deleted file mode 100644 index 4a7767a..0000000 --- a/volunteers/migrations/0001_initial.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.3 on 2017-01-13 10:49 -from __future__ import unicode_literals - -import autoslug.fields -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('sites', '0002_alter_domain_unique'), - ] - - operations = [ - migrations.CreateModel( - name='Activity', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=256, verbose_name='Name')), - ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')), - ('description', models.TextField(blank=True, verbose_name='Description')), - ('participants', models.ManyToManyField(blank=True, related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Participants')), - ('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sites.Site')), - ], - options={ - 'verbose_name_plural': 'Activities', - 'verbose_name': 'Activity', - }, - ), - migrations.AlterUniqueTogether( - name='activity', - unique_together=set([('site', 'name')]), - ), - ] diff --git a/volunteers/migrations/__init__.py b/volunteers/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/volunteers/models.py b/volunteers/models.py deleted file mode 100644 index fdfda77..0000000 --- a/volunteers/models.py +++ /dev/null @@ -1,23 +0,0 @@ -from django.db import models -from django.contrib.sites.models import Site -from django.utils.translation import ugettext_lazy as _ -from django.contrib.auth.models import User - -from autoslug import AutoSlugField - - -class Activity(models.Model): - - site = models.ForeignKey(Site, on_delete=models.CASCADE) - name = models.CharField(max_length=256, verbose_name=_('Name')) - slug = AutoSlugField(populate_from='name') - description = models.TextField(blank=True, verbose_name=_('Description')) - participants = models.ManyToManyField(User, blank=True, related_name='activities', verbose_name=_('Participants')) - - class Meta: - unique_together = ('site', 'name') - verbose_name = _('Activity') - verbose_name_plural = _('Activities') - - def __str__(self): - return self.name diff --git a/volunteers/templates/volunteers/volunteer_enrole.html b/volunteers/templates/volunteers/volunteer_enrole.html deleted file mode 100644 index 0a470ce..0000000 --- a/volunteers/templates/volunteers/volunteer_enrole.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends 'base.html' %} - -{% load accounts_tags i18n %} - -{% block volunteertab %} class="active"{% endblock %} - -{% block content %} - -

{% trans "Enrole as volunteer" %}

- -{% for activity in activities %} -{% if forloop.first %}
{% endif %} -
-

{{ activity.name }}

-

-

{{ activity.description }}

-

- {% if request.user in activity.participants.all %} - {% trans "Sorry, I have a setback" %} - {% else %} - {% trans "I will be happy to help on that!" %} - {% endif %} -

-

-
-{% if forloop.last %}
{% endif %} -{% empty %} -{% trans "We are not yet looking for volunteers … come back later!" %} -{% endfor %} - -{% endblock %} diff --git a/volunteers/templates/volunteers/volunteer_list.html b/volunteers/templates/volunteers/volunteer_list.html deleted file mode 100644 index 71dd91c..0000000 --- a/volunteers/templates/volunteers/volunteer_list.html +++ /dev/null @@ -1,72 +0,0 @@ -{% extends 'staff.html' %} - -{% load bootstrap3 i18n %} - -{% block volunteerstab %} class="active"{% endblock %} - -{% block content %} - -

{% trans "Volunteers" %}

- -{% trans "Show filtering options…" %} - -

- -
-
-
- {% bootstrap_form filter_form %} - -
-
-
- - - - - - - - - - - - {% for volunteer in volunteer_list %} - {% if forloop.first %} - - {% endif %} - - - - - - - {% if forloop.last %} - - {% endif %} - {% endfor %} -
{% trans "Total:" %} {{ volunteer_list|length }} {% trans "volunteer" %}{{ volunteer_list|length|pluralize }} -
{% trans "Username" %}{% trans "Fullname" %}{% trans "Activities" %}
{{ volunteer.user.username }}{{ volunteer.user.get_full_name }} - {% for activity in volunteer.user.activities.all %} - {{ activity }} - {% endfor %} - - {% trans "Contact" %} -
- -{% endblock %} - -{% block js_end %} - -{% endblock %} diff --git a/volunteers/tests.py b/volunteers/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/volunteers/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/volunteers/urls.py b/volunteers/urls.py deleted file mode 100644 index 4d9bccb..0000000 --- a/volunteers/urls.py +++ /dev/null @@ -1,13 +0,0 @@ -from django.conf.urls import url - -from . import views - - -urlpatterns = [ - url(r'^enrole/$', views.enrole, name='enrole-as-volunteer'), - url(r'^enrole/(?P[-\w]+)/$', views.enrole, name='enrole-as-volunteer'), - url(r'^list/$', views.volunteer_list, name='list-volunteers'), - url(r'^activities/$', views.ActivityList.as_view(), name='list-activities'), - url(r'^activities/add/$', views.ActivityCreate.as_view(), name='add-activity'), - url(r'^activities/(?P[-\w]+)/edit/$', views.ActivityUpdate.as_view(), name='edit-activity'), -] diff --git a/volunteers/views.py b/volunteers/views.py deleted file mode 100644 index 200a187..0000000 --- a/volunteers/views.py +++ /dev/null @@ -1,75 +0,0 @@ -from django.shortcuts import render, get_object_or_404, redirect -from django.contrib.sites.shortcuts import get_current_site -from django.views.generic import CreateView, DetailView, ListView, UpdateView -from django.contrib.auth.decorators import login_required - -from ponyconf.mixins import OnSiteFormMixin - -from accounts.decorators import orga_required, staff_required -from accounts.mixins import OrgaRequiredMixin, StaffRequiredMixin -from accounts.models import Participation - -from .models import Activity -from .forms import ActivityForm, VolunteerFilterForm - - - -@login_required -def enrole(request, slug=None): - if slug: - # TODO: enrole action should be done on post (with bootstrap modal confirmation box?) - activity = get_object_or_404(Activity, site=get_current_site(request), slug=slug) - if request.user in activity.participants.all(): - activity.participants.remove(request.user) - else: - activity.participants.add(request.user) - activity.save() - return redirect('enrole-as-volunteer') - activities = Activity.objects.filter(site=get_current_site(request)) - return render(request, 'volunteers/volunteer_enrole.html', { - 'activities': activities, - }) - - -@staff_required -def volunteer_list(request): - show_filters = False - site = get_current_site(request) - filter_form = VolunteerFilterForm(request.GET or None, site=site) - # Filtering - volunteers = Participation.objects.filter(site=site,user__activities__isnull=False).order_by('pk').distinct() - if filter_form.is_valid(): - data = filter_form.cleaned_data - if len(data['activity']): - show_filters = True - volunteers = volunteers.filter(user__activities__slug__in=data['activity']) - return render(request, 'volunteers/volunteer_list.html', { - 'volunteer_list': volunteers, - 'filter_form': filter_form, - 'show_filters': show_filters, - }) - - -class ActivityMixin(object): - def get_queryset(self): - return Activity.objects.filter(site=get_current_site(self.request)).all() - - -class ActivityFormMixin(OnSiteFormMixin): - form_class = ActivityForm - - -class ActivityList(StaffRequiredMixin, ActivityMixin, ListView): - pass - - -class ActivityCreate(OrgaRequiredMixin, ActivityMixin, ActivityFormMixin, CreateView): - model = Activity - - -class ActivityUpdate(OrgaRequiredMixin, ActivityMixin, ActivityFormMixin, UpdateView): - pass - - -class ActivityDetail(StaffRequiredMixin, ActivityMixin, DetailView): - pass