Commit 6d7d3f44 authored by Florent Chehab's avatar Florent Chehab

Migrated from standard Django model to a custom one for optmization concerns

parent e8f37050
from django.contrib.auth.models import User
from base_app.models import User
import os
......
import os
from django.contrib.auth.models import User
from base_app.models import User
import pandas as pd
from backend_app.models.country import Country
......
......@@ -2,7 +2,7 @@ import csv
import os
from decimal import Decimal
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.currency import Currency
......
from django.contrib.auth.models import User
from base_app.models import User
from django.utils import timezone
import reversion
......
import json
import os
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.tag import Tag
......
import os
from django.contrib.auth.models import User
from base_app.models import User
import pandas as pd
from backend_app.models.campus import Campus
......
from datetime import datetime
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.country import Country, CountryScholarship
from backend_app.models.currency import Currency
......
# Generated by Django 2.0.3 on 2018-09-16 13:55
import backend_app.models.university.university
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [("backend_app", "0001_initial")]
operations = [
migrations.AlterField(
model_name="campus",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="campus",
name="name",
field=models.CharField(blank=True, default="", max_length=200),
),
migrations.AlterField(
model_name="campus",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="campustaggeditem",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="campustaggeditem",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="city",
name="area",
field=models.CharField(blank=True, default="", max_length=200),
),
migrations.AlterField(
model_name="city",
name="local_name",
field=models.CharField(blank=True, default="", max_length=200),
),
migrations.AlterField(
model_name="citytaggeditem",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="citytaggeditem",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="country",
name="intermediate_region_name",
field=models.CharField(blank=True, default="", max_length=200),
),
migrations.AlterField(
model_name="country",
name="intermediate_region_un_code",
field=models.CharField(blank=True, default="", max_length=3),
),
migrations.AlterField(
model_name="country",
name="iso_alpha3_code",
field=models.CharField(blank=True, default="", max_length=3, unique=True),
),
migrations.AlterField(
model_name="country",
name="sub_region_name",
field=models.CharField(blank=True, default="", max_length=200),
),
migrations.AlterField(
model_name="country",
name="sub_region_un_code",
field=models.CharField(blank=True, default="", max_length=3),
),
migrations.AlterField(
model_name="countrydri",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="countrydri",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="countryscholarship",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="countryscholarship",
name="other_advantages",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="countryscholarship",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="countrytaggeditem",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="countrytaggeditem",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="currency",
name="symbol",
field=models.CharField(blank=True, default="", max_length=30),
),
migrations.AlterField(
model_name="previousdeparturefeedback",
name="adequation_comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="previousdeparturefeedback",
name="integration_comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="recommendation",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="university",
name="acronym",
field=models.CharField(blank=True, default="", max_length=20),
),
migrations.AlterField(
model_name="university",
name="logo",
field=models.URLField(
blank=True,
default="",
validators=[
backend_app.models.university.university.validate_extension_django
],
),
),
migrations.AlterField(
model_name="university",
name="website",
field=models.URLField(blank=True, default="", max_length=300),
),
migrations.AlterField(
model_name="universitydri",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universitydri",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="universityinfo",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universityinfo",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="universityscholarship",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universityscholarship",
name="other_advantages",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universityscholarship",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="universitysemestersdates",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universitysemestersdates",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
migrations.AlterField(
model_name="universitytaggeditem",
name="comment",
field=models.CharField(blank=True, default="", max_length=5000),
),
migrations.AlterField(
model_name="universitytaggeditem",
name="title",
field=models.CharField(blank=True, default="", max_length=150),
),
]
# Generated by Django 2.0.3 on 2018-09-16 14:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [("backend_app", "0002_auto_20180916_1555")]
operations = [
migrations.AlterField(
model_name="countryscholarship",
name="frequency",
field=models.CharField(
blank=True,
choices=[
("w", "week"),
("m", "month"),
("s", "semester"),
("y", "year"),
("o", "one_shot"),
],
default="m",
max_length=1,
null=True,
),
),
migrations.AlterField(
model_name="universityscholarship",
name="frequency",
field=models.CharField(
blank=True,
choices=[
("w", "week"),
("m", "month"),
("s", "semester"),
("y", "year"),
("o", "one_shot"),
],
default="m",
max_length=1,
null=True,
),
),
]
# Generated by Django 2.1.7 on 2019-03-10 10:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [("backend_app", "0003_auto_20180916_1624")]
operations = [
migrations.RemoveField(model_name="semester", name="moderated_by"),
migrations.RemoveField(model_name="semester", name="updated_by"),
migrations.RemoveField(model_name="userdata", name="black_list"),
migrations.AddField(
model_name="offer",
name="year",
field=models.PositiveIntegerField(default=2018),
),
migrations.AddField(
model_name="previousdeparture",
name="year",
field=models.PositiveIntegerField(default=2018),
),
migrations.AlterField(
model_name="offer",
name="semester",
field=models.CharField(
choices=[("a", "autumn"), ("p", "spring")], default="a", max_length=2
),
),
migrations.AlterField(
model_name="previousdeparture",
name="semester",
field=models.CharField(
choices=[("a", "autumn"), ("p", "spring")], default="a", max_length=2
),
),
migrations.AlterUniqueTogether(name="offer", unique_together=set()),
migrations.DeleteModel(name="Semester"),
]
from django.contrib.auth.models import User
from base_app.models import User
from django.contrib.contenttypes.fields import GenericRelation
from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator
......
from django.contrib.auth.models import User
from base_app.models import User
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
......
from django.db import models
from backend_app.models.other_core.specialty import Specialty
from backend_app.models.university import University
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.fields import JSONField
from backend_app.models.abstract.my_model import (
MyModel,
......
from django.contrib.auth.models import User
from base_app.models import User
from django.db import models
from backend_app.fields import JSONField
from backend_app.models.abstract.my_model import (
......
from django.db import models
from rest_framework import serializers
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.abstract.my_model import (
MyModel,
MyModelSerializer,
......
from typing import List
from django.contrib.auth.models import User
from base_app.models import User
from shared import get_api_objs
......
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.user import UserData
......
from django.test import TestCase
from django.contrib.auth.models import User
from base_app.models import User
from backend_app.models.user import UserData
from backend_app.models.university import University
......
from rest_framework.test import APIClient
from django.contrib.auth.models import User
from base_app.models import User
from django.contrib.auth.models import Group
from django.test import TestCase
......
from backend_app.utils import is_member
from django.contrib.auth.models import User
from base_app.models import User
def does_user_have_moderation_rights(user: User) -> bool:
......
from .__is_member import is_member
from django.contrib.auth.models import User
from base_app.models import User
from shared import OBJ_MODERATION_PERMISSIONS
......
from django.contrib.auth.models import User
from base_app.models import User
def is_member(group_name: str, user: User) -> bool:
......
from rest_framework.authtoken.admin import TokenAdmin
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User
admin.site.register(User, UserAdmin)
# Pour la génération de token dans l'administration du site.
TokenAdmin.raw_id_fields = ("user",)
# Generated by Django 2.1.7 on 2019-03-10 13:41
import django.contrib.auth.models
import django.contrib.auth.validators
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
initial = True
dependencies = [("auth", "0009_alter_user_last_name_max_length")]
operations = [
migrations.CreateModel(
name="User",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("password", models.CharField(max_length=128, verbose_name="password")),
(
"last_login",
models.DateTimeField(
blank=True, null=True, verbose_name="last login"
),
),
(
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
verbose_name="superuser status",
),
),
(
"username",
models.CharField(
error_messages={
"unique": "A user with that username already exists."
},
help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
max_length=150,
unique=True,
validators=[
django.contrib.auth.validators.UnicodeUsernameValidator()
],
verbose_name="username",
),
),
(
"first_name",
models.CharField(
blank=True, max_length=30, verbose_name="first name"
),
),
(
"last_name",
models.CharField(
blank=True, max_length=150, verbose_name="last name"
),
),
(
"email",
models.EmailField(
blank=True, max_length=254, verbose_name="email address"
),
),
(
"is_staff",
models.BooleanField(
default=False,
help_text="Designates whether the user can log into this admin site.",
verbose_name="staff status",
),
),
(
"is_active",
models.BooleanField(
default=True,
help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
verbose_name="active",
),
),
(
"date_joined",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="date joined"
),
),
(
"groups",
models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="auth.Group",
verbose_name="groups",
),
),
(
"user_permissions",
models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.Permission",
verbose_name="user permissions",
),
),
],
options={
"verbose_name": "user",
"verbose_name_plural": "users",
"abstract": False,
},
managers=[("objects", django.contrib.auth.models.UserManager())],
)
]
from django.contrib.auth.models import AbstractUser
from django.utils.functional import cached_property
from typing import List
class User(AbstractUser):
@cached_property
def cached_groups(self) -> List[str]:
out = ["authenticated_user"]
for group in self.groups.all():
out.append(group.name)
return out
......@@ -60,6 +60,11 @@ if os.environ["ENV"] == "DEV":
else:
DEBUG = False
# Use a custom User model for optmization
AUTH_USER_MODEL = "base_app.User"
WEBPACK_LOADER = {
"DEFAULT": {
"BUNDLE_DIR_NAME": "base_app/bundles/",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment