diff --git a/lostplaces/lostplaces/settings.py b/lostplaces/lostplaces/settings.py index 795ee64..1bdf660 100644 --- a/lostplaces/lostplaces/settings.py +++ b/lostplaces/lostplaces/settings.py @@ -42,7 +42,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'easy_thumbnails', - 'widget_tweaks', + 'widget_tweaks', ] MIDDLEWARE = [ @@ -141,7 +141,7 @@ LOGOUT_REDIRECT_URL = 'home' THUMBNAIL_ALIASES = { '': { 'thumbnail': {'size': (300, 300), 'crop': False}, - 'hero': {'size': (700, 700), 'crop': False}, - 'large': {'size': (1920, 1920), 'crop': False}, + 'hero': {'size': (700, 700), 'crop': False}, + 'large': {'size': (1920, 1920), 'crop': False}, }, } diff --git a/lostplaces/lostplaces_app/forms.py b/lostplaces/lostplaces_app/forms.py index 69e9a2d..d88d090 100644 --- a/lostplaces/lostplaces_app/forms.py +++ b/lostplaces/lostplaces_app/forms.py @@ -8,43 +8,43 @@ from django.contrib.auth.forms import UserCreationForm, UserChangeForm from .models import Explorer, Place, PlaceImage, Voucher class ExplorerCreationForm(UserCreationForm): - class Meta: - model = Explorer - fields = ('username', 'email') - voucher = forms.CharField(max_length=10, help_text='The Voucher you got from an administrator') + class Meta: + model = Explorer + fields = ('username', 'email') + voucher = forms.CharField(max_length=10, help_text='The Voucher you got from an administrator') - def is_valid(self): - super().is_valid() - sumitted_voucher = self.cleaned_data.get('voucher') - try: - fetched_voucher = Voucher.objects.get(code=sumitted_voucher) - except Voucher.DoesNotExist: - self.add_error('voucher', 'Invalid voucher') - return False + def is_valid(self): + super().is_valid() + sumitted_voucher = self.cleaned_data.get('voucher') + try: + fetched_voucher = Voucher.objects.get(code=sumitted_voucher) + except Voucher.DoesNotExist: + self.add_error('voucher', 'Invalid voucher') + return False - fetched_voucher.delete() - return True + fetched_voucher.delete() + return True class ExplorerChangeForm(UserChangeForm): - class Meta: - model = Explorer - fields = ('username', 'email') + class Meta: + model = Explorer + fields = ('username', 'email') class PlaceForm(forms.ModelForm): - class Meta: - model = Place - fields = '__all__' - exclude = ['submitted_by'] - + class Meta: + model = Place + fields = '__all__' + exclude = ['submitted_by'] + class PlaceImageCreateForm(forms.ModelForm): - class Meta: - model = PlaceImage - fields = ['filename'] - widgets = { - 'filename': forms.ClearableFileInput(attrs={'multiple': True}) - } + class Meta: + model = PlaceImage + fields = ['filename'] + widgets = { + 'filename': forms.ClearableFileInput(attrs={'multiple': True}) + } - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) - self.fields['filename'].required = False + self.fields['filename'].required = False diff --git a/lostplaces/lostplaces_app/models.py b/lostplaces/lostplaces_app/models.py index 03cb646..907f3bc 100644 --- a/lostplaces/lostplaces_app/models.py +++ b/lostplaces/lostplaces_app/models.py @@ -14,115 +14,115 @@ from easy_thumbnails.fields import ThumbnailerImageField # Create your models here. class Explorer(AbstractUser): - """ - Custom user model - Addtional fields wbd - """ + """ + Custom user model + Addtional fields wbd + """ - def __str__(self): - return self.username + def __str__(self): + return self.username class Voucher(models.Model): - """ - Vouchers are authorization tokens to allow the registration of new users. - A voucher has a code, a creation and a deletion date, which are all positional. - Creation date is being set automatically during voucher creation. - """ + """ + Vouchers are authorization tokens to allow the registration of new users. + A voucher has a code, a creation and a deletion date, which are all positional. + Creation date is being set automatically during voucher creation. + """ - code = models.CharField(unique=True, max_length=10) - created = models.DateTimeField(auto_now_add=True) - expires = models.DateField() + code = models.CharField(unique=True, max_length=10) + created = models.DateTimeField(auto_now_add=True) + expires = models.DateField() - def __str__(self): - return "Voucher " + str(self.pk) + def __str__(self): + return "Voucher " + str(self.pk) class Place (models.Model): - """ - Place defines a lost place (location, name, description etc.). - """ + """ + Place defines a lost place (location, name, description etc.). + """ - name = models.CharField(max_length=50) - submitted_when = models.DateTimeField(auto_now_add=True, null=True) - submitted_by = models.ForeignKey( - Explorer, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='places' - ) - location = models.CharField(max_length=50) - latitude = models.FloatField() - longitude = models.FloatField() - description = models.TextField() + name = models.CharField(max_length=50) + submitted_when = models.DateTimeField(auto_now_add=True, null=True) + submitted_by = models.ForeignKey( + Explorer, + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name='places' + ) + location = models.CharField(max_length=50) + latitude = models.FloatField() + longitude = models.FloatField() + description = models.TextField() - def __str__(self): - return self.name + def __str__(self): + return self.name def generate_image_upload_path(instance, filename): - """ - Callback for generating path for uploaded images. - """ + """ + Callback for generating path for uploaded images. + """ - return 'places/' + str(uuid.uuid4())+'.'+filename.split('.')[-1] + return 'places/' + str(uuid.uuid4())+'.'+filename.split('.')[-1] class PlaceImage (models.Model): - """ - PlaceImage defines an image file object that points to a file in uploads/. - Intermediate image sizes are generated as defined in SIZES. - PlaceImage references a Place to which it belongs. - """ - - description = models.TextField(blank=True) - filename = ThumbnailerImageField(upload_to=generate_image_upload_path) - place = models.ForeignKey( - Place, - on_delete=models.CASCADE, - related_name='images' - ) - submitted_by = models.ForeignKey( - Explorer, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='images' - ) + """ + PlaceImage defines an image file object that points to a file in uploads/. + Intermediate image sizes are generated as defined in SIZES. + PlaceImage references a Place to which it belongs. + """ + + description = models.TextField(blank=True) + filename = ThumbnailerImageField(upload_to=generate_image_upload_path) + place = models.ForeignKey( + Place, + on_delete=models.CASCADE, + related_name='images' + ) + submitted_by = models.ForeignKey( + Explorer, + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name='images' + ) - def __str__(self): - """ - Returning the name of the corresponding place + id - of this image as textual represntation of this instance - """ + def __str__(self): + """ + Returning the name of the corresponding place + id + of this image as textual represntation of this instance + """ - return ' '.join([self.place.name, str(self.pk)]) + return ' '.join([self.place.name, str(self.pk)]) # These two auto-delete files from filesystem when they are unneeded: @receiver(models.signals.post_delete, sender=PlaceImage) def auto_delete_file_on_delete(sender, instance, **kwargs): - """ - Deletes file from filesystem - when corresponding `PlaceImage` object is deleted. - """ - if instance.filename: - if os.path.isfile(instance.filename.path): - os.remove(instance.filename.path) + """ + Deletes file from filesystem + when corresponding `PlaceImage` object is deleted. + """ + if instance.filename: + if os.path.isfile(instance.filename.path): + os.remove(instance.filename.path) @receiver(models.signals.pre_save, sender=PlaceImage) def auto_delete_file_on_change(sender, instance, **kwargs): - """ - Deletes old file from filesystem - when corresponding `PlaceImage` object is updated - with new file. - """ - if not instance.pk: - return False + """ + Deletes old file from filesystem + when corresponding `PlaceImage` object is updated + with new file. + """ + if not instance.pk: + return False - try: - old_file = PlaceImage.objects.get(pk=instance.pk).filename - except PlaceImage.DoesNotExist: - return False + try: + old_file = PlaceImage.objects.get(pk=instance.pk).filename + except PlaceImage.DoesNotExist: + return False - new_file = instance.filename - if not old_file == new_file: - if os.path.isfile(old_file.path): - os.remove(old_file.path) + new_file = instance.filename + if not old_file == new_file: + if os.path.isfile(old_file.path): + os.remove(old_file.path) diff --git a/lostplaces/lostplaces_app/templates/create_place.html b/lostplaces/lostplaces_app/templates/create_place.html index c33cb79..e739819 100644 --- a/lostplaces/lostplaces_app/templates/create_place.html +++ b/lostplaces/lostplaces_app/templates/create_place.html @@ -5,43 +5,43 @@ {% block maincontent %}
diff --git a/lostplaces/lostplaces_app/templates/home.html b/lostplaces/lostplaces_app/templates/home.html index d5956fb..a151e0f 100644 --- a/lostplaces/lostplaces_app/templates/home.html +++ b/lostplaces/lostplaces_app/templates/home.html @@ -8,7 +8,7 @@Kamera
-Wachhund
-Zaun
-Security
-Kamera
+Wachhund
+Zaun
+Security
+