Commit bb23fe58 authored by Anthony Jacob's avatar Anthony Jacob
Browse files

use permissions and custom permissions

parent c515d8d6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
# Generated by Django 4.1.3 on 2022-11-15 17:02

from django.db import migrations
from django import apps


def create_groups(apps, schema_migration):
+11 −1
Original line number Diff line number Diff line
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.models import AbstractUser, Group

class User(AbstractUser):

@@ -19,3 +19,13 @@ class User(AbstractUser):
                            choices=ROLE_CHOICES,
                            verbose_name='Rôle',
                            default='SUBSCRIBER')


    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)
        if self.role == self.CREATOR:
            group = Group.objects.get(name='creators')
            group.user_set.add(self)
        elif self.role == self.SUBSCRIBER:
            group = Group.objects.get(name='subscribers')
            group.user_set.add(self)
+21 −0
Original line number Diff line number Diff line
# Generated by Django 4.1.3 on 2022-12-01 10:45

from django.db import migrations


class Migration(migrations.Migration):

    dependencies = [
        ("blog", "0003_blog_word_count"),
    ]

    operations = [
        migrations.AlterModelOptions(
            name="blog",
            options={
                "permissions": [
                    ("change_blog_title", "Peut changer le titre d’un billet de blog")
                ]
            },
        ),
    ]
+8 −2
Original line number Diff line number Diff line
import os
import uuid

from django.db import models
from django.conf import settings
@@ -7,6 +6,7 @@ from django.core.validators import MinValueValidator
from PIL import Image
from django.dispatch import receiver


class Photo(models.Model):
    image = models.ImageField()
    caption = models.CharField(max_length=128, blank=True)
@@ -28,6 +28,12 @@ class Photo(models.Model):


class Blog(models.Model):

    class Meta:
        permissions = [
                ('change_blog_title', 'Peut changer le titre d’un billet de blog')
            ]

    photo = models.ForeignKey(Photo, null=True,
                              on_delete=models.SET_NULL,
                              blank=True)
+3 −0
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@
    {% include "messages_notif.html" %}
    <div class="grid-container">

        {% if user.is_authenticated and perms.blog.change_blog_title %}
            permission speciale change_blog_title
        {% endif %}
        <a href="{% url 'blog-post-list' %}" alt="lien vers le feed de blog post"> Acceder à la liste d'article de Blog </a>
        <a href="{% url 'media-list' %}" alt="lien vers le feed de Media"> Acceder à la liste de Média </a>

Loading