Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Julien Jerphanion
Rex Dri
Commits
a938e15d
Commit
a938e15d
authored
Sep 10, 2018
by
Florent Chehab
Browse files
Merge branch 'clean_backend' into 'master'
Clean backend See merge request chehabfl/outgoing_rex!35
parents
9e62f092
92f591e0
Changes
68
Hide whitespace changes
Inline
Side-by-side
backend/models/other_core/semester.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/other_core/specialty.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.other_core
import
Department
from
backend.models.other_core
import
Department
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/tag/__init__.py
View file @
a938e15d
from
.tag
import
Tag
,
TagSerializer
,
TagViewSet
# noqa: F401
from
.tag
import
Tag
,
TagSerializer
,
TagViewSet
# noqa: F401
from
.taggedItem
import
TaggedItem
,
TaggedItemSerializer
,
TaggedItemViewSet
# noqa: F401
backend/models/tag/tag.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.
models.tool
s
import
JSONField
from
backend.
field
s
import
JSONField
from
backend.utils
import
get_viewset_permissions
,
get_model_config
from
backend.utils
import
get_viewset_permissions
,
get_model_config
...
...
backend/models/university/__init__.py
View file @
a938e15d
...
@@ -4,5 +4,5 @@ from .universityScholarship import UniversityScholarship, UniversityScholarshipS
...
@@ -4,5 +4,5 @@ from .universityScholarship import UniversityScholarship, UniversityScholarshipS
from
.universityDri
import
UniversityDri
,
UniversityDriSerializer
,
UniversityDriViewSet
# noqa: F401
from
.universityDri
import
UniversityDri
,
UniversityDriSerializer
,
UniversityDriViewSet
# noqa: F401
from
.universityInfo
import
UniversityInfo
,
UniversityInfoSerializer
,
UniversityInfoViewSet
# noqa: F401
from
.universityInfo
import
UniversityInfo
,
UniversityInfoSerializer
,
UniversityInfoViewSet
# noqa: F401
from
.universitySemestersDates
import
UniversitySemestersDates
,
UniversitySemestersDatesSerializer
,
UniversitySemestersDatesViewSet
# noqa: F401
from
.universitySemestersDates
import
UniversitySemestersDates
,
UniversitySemestersDatesSerializer
,
UniversitySemestersDatesViewSet
# noqa: F401
from
.universityModulesAPI
import
UniversityModulesViewSet
# noqa: F401
from
.universityTaggedItem
import
UniversityTaggedItem
,
UniversityTaggedItemSerializer
,
UniversityTaggedItemViewSet
# noqa: F401
from
.universityTaggedItem
import
UniversityTaggedItem
,
UniversityTaggedItemSerializer
,
UniversityTaggedItemViewSet
# noqa: F401
from
.universityModulesAPI
import
UniversityModulesViewSet
# noqa: F401
backend/models/university/university.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.my_model
import
MyModel
from
backend.models.
abstract.
my_model
import
MyModel
from
backend.utils
import
get_model_config
from
backend.utils
import
get_model_config
from
django.core.exceptions
import
ValidationError
from
django.core.exceptions
import
ValidationError
from
rest_framework.validators
import
ValidationError
as
RFValidationError
from
rest_framework.validators
import
ValidationError
as
RFValidationError
from
backend.validators.tag.url
import
validate_extension
from
backend.validators.tag.url
import
validate_extension
from
django.conf
import
settings
from
django.conf
import
settings
from
backend.models.my_model
import
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_viewset_permissions
from
backend.utils
import
get_viewset_permissions
...
...
backend/models/university/universityDri.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.models.basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
abstract.
basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/university/universityInfo.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
abstract.
basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.models.currency
import
Currency
from
backend.models.currency
import
Currency
from
django.core.validators
import
MinValueValidator
from
django.core.validators
import
MinValueValidator
...
...
backend/models/university/universityModulesAPI.py
View file @
a938e15d
...
@@ -2,13 +2,25 @@ from backend.models.university import University
...
@@ -2,13 +2,25 @@ from backend.models.university import University
from
backend.models.campus
import
CampusSerializer
from
backend.models.campus
import
CampusSerializer
from
backend.models.university
import
UniversityDriSerializer
from
backend.models.university
import
UniversityDriSerializer
from
backend.models.my_model
import
MyModelSerializer
,
MyModelViewSet
from
backend.models.university
import
UniversityInfoSerializer
from
backend.models.university
import
UniversityScholarshipSerializer
from
backend.models.university
import
UniversitySemestersDatesSerializer
from
backend.models.university
import
UniversityTaggedItemSerializer
from
backend.models.abstract.my_model
import
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_viewset_permissions
from
backend.utils
import
get_viewset_permissions
class
UniversityModulesSerializer
(
MyModelSerializer
):
class
UniversityModulesSerializer
(
MyModelSerializer
):
univ_campus
=
CampusSerializer
(
many
=
True
,
read_only
=
True
)
university_campuses
=
CampusSerializer
(
many
=
True
,
read_only
=
True
)
university_scholarships
=
UniversityScholarshipSerializer
(
many
=
True
,
read_only
=
True
)
university_tagged_items
=
UniversityTaggedItemSerializer
(
many
=
True
,
read_only
=
True
)
university_dri
=
UniversityDriSerializer
(
many
=
True
,
read_only
=
True
)
university_dri
=
UniversityDriSerializer
(
many
=
True
,
read_only
=
True
)
university_info
=
UniversityInfoSerializer
(
read_only
=
True
)
university_semesters_dates
=
UniversitySemestersDatesSerializer
(
read_only
=
True
)
class
Meta
:
class
Meta
:
model
=
University
model
=
University
...
@@ -18,9 +30,16 @@ class UniversityModulesSerializer(MyModelSerializer):
...
@@ -18,9 +30,16 @@ class UniversityModulesSerializer(MyModelSerializer):
class
UniversityModulesViewSet
(
MyModelViewSet
):
class
UniversityModulesViewSet
(
MyModelViewSet
):
permission_classes
=
get_viewset_permissions
(
"UniversityModulesViewSet"
)
permission_classes
=
get_viewset_permissions
(
"UniversityModulesViewSet"
)
serializer_class
=
UniversityModulesSerializer
serializer_class
=
UniversityModulesSerializer
queryset
=
University
.
objects
.
all
()
LIST_SHOULD_BE_DETAIL
=
True
def
get
_queryset
(
self
):
def
extend
_queryset
(
self
):
univ_id
=
self
.
kwargs
[
'univ_id'
]
univ_id
=
self
.
kwargs
[
'univ_id'
]
return
University
.
objects
.
filter
(
id
=
univ_id
).
prefetch_related
(
'univ_campus'
,
'university_dri'
)
# pylint: disable=E1101
return
self
.
my_model_queryset
.
filter
(
pk
=
univ_id
).
prefetch_related
(
'university_campuses'
,
# queryset = get_queryset()
'university_dri'
,
'university_info'
,
'university_scholarships'
,
'university_semesters_dates'
,
'university_tagged_items'
)
# pylint: disable=E1101
backend/models/university/universityScholarship.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.models.scholarship
import
Scholarship
,
ScholarshipSerializer
,
ScholarshipViewSet
from
backend.models.
abstract.
scholarship
import
Scholarship
,
ScholarshipSerializer
,
ScholarshipViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
class
UniversityScholarship
(
Scholarship
):
class
UniversityScholarship
(
Scholarship
):
model_config
=
get_model_config
(
"UniversityScholarship"
)
model_config
=
get_model_config
(
"UniversityScholarship"
)
university
=
models
.
ForeignKey
(
university
=
models
.
ManyToManyField
(
University
,
related_name
=
"university_scholarships"
)
University
,
on_delete
=
models
.
PROTECT
,
null
=
False
,
related_name
=
"univScholarship"
)
@
classmethod
@
classmethod
def
get_serializer
(
cls
):
def
get_serializer
(
cls
):
...
...
backend/models/university/universitySemestersDates.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
abstract.
basic_module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.university
import
University
from
backend.models.university
import
University
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/university/universityTaggedItem.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
backend.models.
tag
import
TaggedItem
,
TaggedItemSerializer
,
TaggedItemViewSet
from
backend.models.
abstract.taggedItem
import
TaggedItem
,
TaggedItemSerializer
,
TaggedItemViewSet
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
class
UniversityTaggedItem
(
TaggedItem
):
class
UniversityTaggedItem
(
TaggedItem
):
model_config
=
get_model_config
(
"UniversityTaggedItem"
)
model_config
=
get_model_config
(
"UniversityTaggedItem"
)
university
=
models
.
OneToOneField
(
university
=
models
.
ForeignKey
(
University
,
on_delete
=
models
.
PROTECT
,
related_name
=
'
city_items'
,
primary_key
=
True
)
University
,
on_delete
=
models
.
PROTECT
,
related_name
=
'
university_tagged_items'
)
@
classmethod
@
classmethod
def
get_serializer
(
cls
):
def
get_serializer
(
cls
):
...
...
backend/models/user/previousDeparture.py
View file @
a938e15d
...
@@ -3,8 +3,8 @@ from backend.models.other_core.specialty import Specialty
...
@@ -3,8 +3,8 @@ from backend.models.other_core.specialty import Specialty
from
backend.models.other_core.semester
import
Semester
from
backend.models.other_core.semester
import
Semester
from
backend.models.university
import
University
from
backend.models.university
import
University
from
django.contrib.auth.models
import
User
from
django.contrib.auth.models
import
User
from
backend.
models.tool
s
import
JSONField
from
backend.
field
s
import
JSONField
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/user/previousDepartureFeedback.py
View file @
a938e15d
...
@@ -3,7 +3,7 @@ from django.core.validators import MaxValueValidator
...
@@ -3,7 +3,7 @@ from django.core.validators import MaxValueValidator
from
backend.models.user
import
UserRestrictedModule
,
UserRestrictedModuleSerializer
,
UserRestrictedModuleViewSet
from
backend.models.user
import
UserRestrictedModule
,
UserRestrictedModuleSerializer
,
UserRestrictedModuleViewSet
from
backend.models.user
import
PreviousDeparture
from
backend.models.user
import
PreviousDeparture
from
backend.
models.tool
s
import
JSONField
from
backend.
field
s
import
JSONField
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/user/userData.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.
models.tool
s
import
JSONField
from
backend.
field
s
import
JSONField
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
django.contrib.auth.models
import
User
from
django.contrib.auth.models
import
User
from
backend.utils
import
get_viewset_permissions
,
get_model_config
from
backend.utils
import
get_viewset_permissions
,
get_model_config
...
...
backend/models/user/userRestrictedModule.py
View file @
a938e15d
from
django.db
import
models
from
django.db
import
models
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
django.contrib.auth.models
import
User
from
django.contrib.auth.models
import
User
from
backend.models.my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
from
backend.models.
abstract.
my_model
import
MyModel
,
MyModelSerializer
,
MyModelViewSet
class
UserRestrictedModule
(
MyModel
):
class
UserRestrictedModule
(
MyModel
):
"""
TODO move to abstract folder ?
"""
# RGPD made easy with CASCADE
# RGPD made easy with CASCADE
owner
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
)
owner
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
)
...
...
backend/permissions/__init__.py
View file @
a938e15d
...
@@ -2,6 +2,7 @@ from .noDeleteIfNotStaff import NoDeleteIfNotStaff # noqa: F401
...
@@ -2,6 +2,7 @@ from .noDeleteIfNotStaff import NoDeleteIfNotStaff # noqa: F401
from
.isOwner
import
IsOwner
# noqa: F401
from
.isOwner
import
IsOwner
# noqa: F401
from
.noDelete
import
NoDelete
# noqa: F401
from
.noDelete
import
NoDelete
# noqa: F401
from
.isStaffOrReadOnly
import
IsStaffOrReadOnly
# noqa: F401
from
.isStaffOrReadOnly
import
IsStaffOrReadOnly
# noqa: F401
from
.readOnly
import
ReadOnly
# noqa: F401
from
.isDriOrReadOnly
import
IsDriOrReadOnly
# noqa: F401
from
.isDriOrReadOnly
import
IsDriOrReadOnly
# noqa: F401
from
.default_viewset_permissions
import
DEFAULT_VIEWSET_PERMISSIONS
# noqa: F401
from
.default_viewset_permissions
import
DEFAULT_VIEWSET_PERMISSIONS
# noqa: F401
from
.obj_moderation_permission
import
OBJ_MODERATION_PERMISSIONS
# noqa: F401
from
.obj_moderation_permission
import
OBJ_MODERATION_PERMISSIONS
# noqa: F401
...
...
backend/permissions/readOnly.py
0 → 100644
View file @
a938e15d
from
rest_framework
import
permissions
class
ReadOnly
(
permissions
.
BasePermission
):
def
has_permission
(
self
,
request
,
view
):
if
request
.
method
in
permissions
.
SAFE_METHODS
:
return
True
else
:
return
False
backend/tests/test_moderation.py
View file @
a938e15d
from
django.test
import
override_settings
from
django.test
import
override_settings
from
.withUserTestCase
import
WithUserTestCase
from
.withUserTestCase
import
WithUserTestCase
from
backend.models.my_model
import
ForTestingModeration
from
backend.models.
abstract.
my_model
import
ForTestingModeration
from
backend.models.my_model
import
PendingModeration
from
backend.models.
abstract.
my_model
import
PendingModeration
from
django.contrib.contenttypes.models
import
ContentType
from
django.contrib.contenttypes.models
import
ContentType
from
django.conf
import
settings
from
django.conf
import
settings
from
backend.models.university
import
University
from
backend.models.university
import
University
...
...
backend/tests/test_mymodel_validate.py
View file @
a938e15d
from
django.test
import
TestCase
from
django.test
import
TestCase
from
backend.models.my_model.myModel
import
validate_obj_model_lv
from
backend.models.
abstract.
my_model.myModel
import
validate_obj_model_lv
import
pytest
import
pytest
from
django.core.exceptions
import
ValidationError
from
django.core.exceptions
import
ValidationError
from
backend.permissions
import
OBJ_MODERATION_PERMISSIONS
from
backend.permissions
import
OBJ_MODERATION_PERMISSIONS
...
...
Prev
1
2
3
4
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment