Rename and refactor some settings

This commit is contained in:
Skia
2016-03-31 10:36:00 +02:00
parent be826ed616
commit 52153438ac
11 changed files with 83 additions and 66 deletions

View File

@ -13,13 +13,13 @@ class Counter(models.Model):
products = models.ManyToManyField(Product, related_name="counters", blank=True)
type = models.CharField(_('subscription type'),
max_length=255,
choices=[('BAR',_('Bar')), ('OFFICE',_('Office'))]) # TODO: add _ to translate
choices=[('BAR',_('Bar')), ('OFFICE',_('Office'))])
edit_groups = models.ManyToManyField(Group, related_name="editable_counters", blank=True)
view_groups = models.ManyToManyField(Group, related_name="viewable_counters", blank=True)
def __getattribute__(self, name):
if name == "owner_group":
return Group(name=self.club.unix_name+"-board")
return Group(name=self.club.unix_name+settings.SITH_BOARD_SUFFIX)
return object.__getattribute__(self, name)
def __str__(self):
@ -29,4 +29,4 @@ class Counter(models.Model):
return reverse('counter:details', kwargs={'counter_id': self.id})
def can_be_viewed_by(self, user):
return user.is_in_group(settings.AE_GROUPS['board']['name'])
return user.is_in_group(settings.SITH_MAIN_BOARD_GROUP)

View File

@ -4,6 +4,7 @@ from counter.views import *
urlpatterns = [
url(r'^(?P<counter_id>[0-9]+)$', CounterDetail.as_view(), name='details'),
url(r'^(?P<counter_id>[0-9]+)/login$', CounterLogin.as_view(), name='login'),
url(r'^admin/(?P<counter_id>[0-9]+)$', CounterEditView.as_view(), name='admin'),
url(r'^admin$', CounterListView.as_view(), name='admin_list'),
url(r'^admin/new$', CounterCreateView.as_view(), name='new'),

View File

@ -1,26 +1,40 @@
from django.shortcuts import render
from django.views.generic import ListView, DetailView
from django.views.generic import ListView, DetailView, RedirectView
from django.views.generic.edit import UpdateView, CreateView, DeleteView
from django.forms.models import modelform_factory
from django.forms import CheckboxSelectMultiple
from django.core.urlresolvers import reverse_lazy
from django.contrib.auth.forms import AuthenticationForm
from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin
from counter.models import Counter
# Create your views here.
class CounterListView(CanViewMixin, ListView):
model = Counter
template_name = 'counter/counter_list.jinja'
class CounterDetail(CanViewMixin, DetailView):
"""
The public (barman) view
"""
model = Counter
template_name = 'counter/counter_detail.jinja'
pk_url_kwarg = "counter_id"
class CounterLogin(RedirectView):
permanent = False
def post(self): # TODO: finish that
print(self.request)
form = AuthenticationForm(self.request, data=self.request.POST)
if form.is_valid():
print("Barman logged")
class CounterListView(CanViewMixin, ListView):
"""
A list view for the admins
"""
model = Counter
template_name = 'counter/counter_list.jinja'
class CounterEditView(CanEditMixin, UpdateView):
"""
Edit a Counter's main informations (for the counter's members)
Edit a counter's main informations (for the counter's admin)
"""
model = Counter
form_class = modelform_factory(Counter, fields=['name', 'club', 'type', 'products'],
@ -30,7 +44,7 @@ class CounterEditView(CanEditMixin, UpdateView):
class CounterCreateView(CanEditMixin, CreateView):
"""
Edit a Counter's main informations (for the counter's members)
Create a counter (for the admins)
"""
model = Counter
form_class = modelform_factory(Counter, fields=['name', 'club', 'type', 'products'],
@ -39,9 +53,11 @@ class CounterCreateView(CanEditMixin, CreateView):
class CounterDeleteView(CanEditMixin, DeleteView):
"""
Edit a Counter's main informations (for the counter's members)
Delete a counter (for the admins)
"""
model = Counter
pk_url_kwarg = "counter_id"
template_name = 'core/delete_confirm.jinja'
success_url = reverse_lazy('counter:admin_list')