diff --git a/accounts/templates/registration/login.html b/accounts/templates/registration/login.html deleted file mode 100644 index 8566b0f..0000000 --- a/accounts/templates/registration/login.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends 'base.html' %} - -{% load bootstrap3 i18n %} - -{% block logintab %} class="active"{% endblock %} - -{% block content %} - - - -
-
-
- {% include '_form.html' %} -
-
-
- -
-
- {% url 'registration_register' as reg_url %} - {% blocktrans %}You do not have an account yet? Please register.{% endblocktrans %} -
-
- -{% endblock %} diff --git a/accounts/templates/registration/password_reset_form.html b/accounts/templates/registration/password_reset_form.html deleted file mode 100644 index 7290203..0000000 --- a/accounts/templates/registration/password_reset_form.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends 'base.html' %} - -{% load bootstrap3 i18n %} - -{% block content %} - - - -
-
-
- {% include "_form.html" %} -
-
-
- -{% endblock %} diff --git a/accounts/templates/registration/registration_form.html b/accounts/templates/registration/registration_form.html deleted file mode 100644 index 792b357..0000000 --- a/accounts/templates/registration/registration_form.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends 'base.html' %} - -{% load bootstrap3 i18n %} - -{% block registrationtab %} class="active"{% endblock %} - -{% block content %} - - - -
-
-
- {% include '_form.html' %} -
-
-
- -
-
- {% url 'login' as login_url %} - {% blocktrans %}You already have an account? Please login.{% endblocktrans %} -
-
- -{% endblock %} diff --git a/cfp/admin.py b/cfp/admin.py new file mode 100644 index 0000000..f9f0d15 --- /dev/null +++ b/cfp/admin.py @@ -0,0 +1,38 @@ +from django.contrib import admin +from django.contrib.sites.models import Site +from django.contrib.sites.shortcuts import get_current_site + +from ponyconf.admin import SiteAdminMixin +from .models import Conference, Participant, Talk, TalkCategory, Track + + +class ConferenceAdmin(SiteAdminMixin, admin.ModelAdmin): + pass + + +class ParticipantAdmin(SiteAdminMixin, admin.ModelAdmin): + pass + + +class TrackAdmin(SiteAdminMixin, admin.ModelAdmin): + pass + + +class TalkCategoryAdmin(SiteAdminMixin, admin.ModelAdmin): + pass + + +class TalkAdmin(SiteAdminMixin, admin.ModelAdmin): + def get_form(self, request, obj=None, **kwargs): + form = super().get_form(request, obj, **kwargs) + site = get_current_site(request) + form.base_fields['speakers'].queryset = Participant.objects.filter(site=site) + form.base_fields['track'].queryset = Track.objects.filter(site=site) + form.base_fields['category'].queryset = TalkCategory.objects.filter(site=site) + return form + + +admin.site.register(Conference, ConferenceAdmin) +admin.site.register(Participant, ParticipantAdmin) +admin.site.register(Talk, TalkAdmin) +admin.site.register(TalkCategory, TalkCategoryAdmin) diff --git a/cfp/models.py b/cfp/models.py index 1233756..56643b4 100644 --- a/cfp/models.py +++ b/cfp/models.py @@ -12,14 +12,8 @@ from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext from django.utils import timezone -#from autoslug import AutoSlugField -#from colorful.fields import RGBColorField - -#from accounts.models import Participation from ponyconf.utils import PonyConfModel, enum_to_choices -#from .utils import generate_user_uid - from enum import IntEnum from datetime import timedelta from os.path import join, basename @@ -37,10 +31,6 @@ from django.utils import timezone from autoslug import AutoSlugField from colorful.fields import RGBColorField -#from accounts.models import Participation -#from ponyconf.utils import PonyConfModel, enum_to_choices -#from planning.models import Room - from .utils import query_sum from .utils import generate_user_uid @@ -57,6 +47,29 @@ from django.utils.translation import ugettext +class Conference(models.Model): + + site = models.OneToOneField(Site, on_delete=models.CASCADE) + home = models.TextField(blank=True, default="") + venue = models.TextField(blank=True, default="") + city = models.CharField(max_length=64, blank=True, default="") + #subscriptions_open = models.BooleanField(default=False) # workshop subscription + + #def cfp_is_open(self): + # events = Event.objects.filter(site=self.site) + # return any(map(lambda x: x.is_open(), events)) + + #@property + #def opened_events(self): + # now = timezone.now() + # return Event.objects.filter(site=self.site)\ + # .filter(Q(opening_date__isnull=True) | Q(opening_date__lte=now))\ + # .filter(Q(closing_date__isnull=True) | Q(closing_date__gte=now)) + + def __str__(self): + return str(self.site) + + class Participant(PonyConfModel): #LICENCES = IntEnum('Video licence', 'CC-Zero CC-BY CC-BY-SA CC-BY-ND CC-BY-NC CC-BY-NC-SA CC-BY-NC-ND') @@ -121,29 +134,6 @@ class Participant(PonyConfModel): # return self.talk_set.exclude(accepted=False) -class Conference(models.Model): - - site = models.OneToOneField(Site, on_delete=models.CASCADE) - home = models.TextField(blank=True, default="") - venue = models.TextField(blank=True, default="") - city = models.CharField(max_length=64, blank=True, default="") - #subscriptions_open = models.BooleanField(default=False) # workshop subscription - - #def cfp_is_open(self): - # events = Event.objects.filter(site=self.site) - # return any(map(lambda x: x.is_open(), events)) - - #@property - #def opened_events(self): - # now = timezone.now() - # return Event.objects.filter(site=self.site)\ - # .filter(Q(opening_date__isnull=True) | Q(opening_date__lte=now))\ - # .filter(Q(closing_date__isnull=True) | Q(closing_date__gte=now)) - - def __str__(self): - return str(self.site) - - class Track(PonyConfModel): site = models.ForeignKey(Site, on_delete=models.CASCADE) @@ -167,27 +157,6 @@ class Track(PonyConfModel): # return reverse('list-talks') + '?track=%s' % self.slug -#class Topic(PonyConfModel): -# -# site = models.ForeignKey(Site, on_delete=models.CASCADE) -# -# name = models.CharField(max_length=128, verbose_name=_('Name')) -# slug = AutoSlugField(populate_from='name', unique=True) -# description = models.TextField(blank=True, verbose_name=_('Description')) -# track = models.ForeignKey(Track, blank=True, null=True, verbose_name=_('Destination track')) -# -# reviewers = models.ManyToManyField(User, blank=True, verbose_name=_('Reviewers')) -# -# class Meta: -# unique_together = ('site', 'name') -# -# def __str__(self): -# return self.name -# -# def get_absolute_url(self): -# return reverse('list-talks') + '?topic=%s' % self.slug - - class TalkCategory(models.Model): # type of talk (conf 30min, 1h, stand, …) site = models.ForeignKey(Site, on_delete=models.CASCADE) diff --git a/ponyconf/settings.py b/ponyconf/settings.py index a9a9d3e..0a9782f 100644 --- a/ponyconf/settings.py +++ b/ponyconf/settings.py @@ -46,7 +46,7 @@ INSTALLED_APPS = [ #'volunteers', # external apps - #'djangobower', + 'djangobower', 'bootstrap3', #'registration', #'django_select2', @@ -88,7 +88,7 @@ TEMPLATES = [ 'django.contrib.messages.context_processors.messages', 'ponyconf.context_processors.site', - 'proposals.context_processors.conference', + #'proposals.context_processors.conference', ], }, }, @@ -206,7 +206,7 @@ BOOTSTRAP3 = { SELECT2_JS = 'select2/dist/js/select2.min.js' SELECT2_CSS = 'select2/dist/css/select2.min.css' -AUTHENTICATION_BACKENDS = ['yeouia.backends.YummyEmailOrUsernameInsensitiveAuth'] +#AUTHENTICATION_BACKENDS = ['yeouia.backends.YummyEmailOrUsernameInsensitiveAuth'] LOGOUT_REDIRECT_URL = 'home' # django-registration diff --git a/ponyconf/templates/base.html b/ponyconf/templates/base.html index 5a0c268..112aa69 100644 --- a/ponyconf/templates/base.html +++ b/ponyconf/templates/base.html @@ -1,5 +1,5 @@ {% extends '_base.html' %} -{% load accounts_tags i18n bootstrap3 %} +{% load i18n bootstrap3 %} {% block body %} @@ -18,22 +18,28 @@