diff --git a/.drone.yml b/.drone.yml index 45abb0c..cf22ad3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -19,5 +19,6 @@ pipeline: - pip install -r ./requirements/test.txt - python manage.py test mhackspace --verbosity 2 +services: mailhog: image: mailhog/mailhog diff --git a/config/settings/common.py b/config/settings/common.py index 56fd1fb..618110b 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -303,3 +303,5 @@ SASS_PROCESSOR_INCLUDE_DIRS = [ SASS_PROCESSOR_ENABLED = True SASS_PROCESSOR_AUTO_INCLUDE = True + +EMAIL_SUPPORT = 'support@maidstone-hackspace.org.uk' diff --git a/mhackspace/base/models.py b/mhackspace/base/models.py index b8019ba..a7bd3d0 100644 --- a/mhackspace/base/models.py +++ b/mhackspace/base/models.py @@ -8,7 +8,6 @@ from stdimage.utils import UploadToAutoSlugClassNameDir from stdimage.validators import MinSizeValidator - class BannerImages(models.Model): url = models.URLField() title = models.CharField(max_length=255) @@ -19,12 +18,16 @@ class BannerImages(models.Model): blank=True, null=True, variations={ - 'home': { - "width": 530, - "height": 220, + 'small': { + "width": 600, + "height": 300, + "crop": True}, + 'large': { + "width": 1024, + "height": 300, "crop": True}}, validators=[ - MinSizeValidator(800, 600)]) + MinSizeValidator(1200, 300)]) caption = models.TextField() date = models.DateTimeField(default=timezone.now) diff --git a/mhackspace/subscriptions/views.py b/mhackspace/subscriptions/views.py index 6b9eb9f..ac33132 100644 --- a/mhackspace/subscriptions/views.py +++ b/mhackspace/subscriptions/views.py @@ -2,29 +2,22 @@ from __future__ import unicode_literals, absolute_import from django.conf import settings -from django.contrib.auth.models import AbstractUser -from django.core.urlresolvers import reverse -from django.db import models -from django.contrib import messages -from django.utils.encoding import python_2_unicode_compatible -from django.utils.translation import ugettext_lazy as _ from django.shortcuts import redirect - from django.views.generic import UpdateView, RedirectView + +from django.contrib import messages +from django.contrib.auth.models import Group from django.contrib.auth.mixins import LoginRequiredMixin from mhackspace.users.models import User from mhackspace.users.forms import MembershipJoinForm from mhackspace.subscriptions.payments import select_provider + class MembershipJoinView(LoginRequiredMixin, UpdateView): model = User fields = [] - def get_object(self): - # Only get the User record for the user making the request - return User.objects.get(username=self.request.user.username) - def get_object(self): # Only get the User record for the user making the request return User.objects.get(username=self.request.user.username) @@ -33,7 +26,7 @@ class MembershipJoinView(LoginRequiredMixin, UpdateView): app_domain = 'http://test.maidstone-hackspace.org.uk' payment_provider = 'gocardless' provider = select_provider(payment_provider) - user_code = str(self.request.user.id).zfill(5) + user_code = str(self.request.user.id).zfill(5) form_subscription = MembershipJoinForm(data=self.request.POST) form_subscription.is_valid() @@ -60,7 +53,11 @@ class MembershipJoinSuccessView(LoginRequiredMixin, RedirectView): self.request, messages.SUCCESS, 'Success your membership should now be active') - kwargs['username'] = self.request.user.get_username() + kwargs['username'] = self.request.user.get_username() + + # add user to group on success + group = Group.objects.get(name='members') + self.request.user.groups.add(group) return super(MembershipJoinSuccessView, self).get_redirect_url(*args, **kwargs) @@ -73,6 +70,6 @@ class MembershipJoinFailureView(LoginRequiredMixin, RedirectView): messages.add_message( self.request, messages.ERROR, - 'Failed to sign up something went wrong with your payment') + 'Failed to sign up something went wrong with your payment, please contact us at %s' % EMAIL_SUPPORT) kwargs['username'] = self.request.user.get_username() return super(MembershipJoinFailureView, self).get_redirect_url(*args, **kwargs) diff --git a/mhackspace/templates/partials/banner_list.html b/mhackspace/templates/partials/banner_list.html index 3e5c1c4..d83d3c3 100644 --- a/mhackspace/templates/partials/banner_list.html +++ b/mhackspace/templates/partials/banner_list.html @@ -1,18 +1,20 @@ {% load static %}
diff --git a/mhackspace/users/models.py b/mhackspace/users/models.py index a021f33..71e8255 100644 --- a/mhackspace/users/models.py +++ b/mhackspace/users/models.py @@ -5,11 +5,10 @@ from django.conf import settings from django.contrib.auth.models import AbstractUser from django.core.urlresolvers import reverse from django.db import models -from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ from stdimage.models import StdImageField -@python_2_unicode_compatible + class User(AbstractUser): name = models.CharField(_('Name of User'), blank=True, max_length=255) image = StdImageField(