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
9e62f092
Commit
9e62f092
authored
Sep 09, 2018
by
Florent Chehab
Browse files
Merge branch 'work_on_backend' into 'master'
Work on backend See merge request chehabfl/outgoing_rex!34
parents
9c099cdf
2303c5bd
Changes
60
Show whitespace changes
Inline
Side-by-side
backend/models/
location
/currency.py
→
backend/models/
currency
/currency.py
View file @
9e62f092
File moved
backend/models/module/__init__.py
deleted
100644 → 0
View file @
9c099cdf
from
.basicModule
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
# noqa: F401
from
.scholarship
import
Scholarship
,
ScholarshipSerializer
,
ScholarshipViewSet
# noqa: F401
from
.driRestrictedModule
import
DriRestrictedModule
,
DriRestrictedModuleSerializer
,
DriRestrictedModuleViewSet
# noqa: F401
backend/models/module/driRestrictedModule.py
deleted
100644 → 0
View file @
9c099cdf
from
backend.models.module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
class
DriRestrictedModule
(
BasicModule
):
class
Meta
:
abstract
=
True
class
DriRestrictedModuleSerializer
(
BasicModuleSerializer
):
class
Meta
:
model
=
DriRestrictedModule
class
DriRestrictedModuleViewSet
(
BasicModuleViewSet
):
serializer_class
=
DriRestrictedModuleSerializer
backend/models/scholarship/__init__.py
0 → 100644
View file @
9e62f092
from
.scholarship
import
Scholarship
,
ScholarshipSerializer
,
ScholarshipViewSet
# noqa: F401
backend/models/
module
/scholarship.py
→
backend/models/
scholarship
/scholarship.py
View file @
9e62f092
from
django.db
import
models
from
django.db
import
models
from
backend.models.module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
basic_
module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
location
import
Currency
from
backend.models.
currency
import
Currency
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
django.core.validators
import
MinValueValidator
from
django.core.validators
import
MinValueValidator
...
@@ -28,6 +28,7 @@ class Scholarship(BasicModule):
...
@@ -28,6 +28,7 @@ class Scholarship(BasicModule):
class
ScholarshipSerializer
(
BasicModuleSerializer
):
class
ScholarshipSerializer
(
BasicModuleSerializer
):
def
my_validate
(
self
,
attrs
):
def
my_validate
(
self
,
attrs
):
attrs
=
super
(
ScholarshipSerializer
,
self
).
my_validate
(
attrs
)
if
attrs
[
'amount_max'
]
<
attrs
[
'amount_min'
]:
if
attrs
[
'amount_max'
]
<
attrs
[
'amount_min'
]:
raise
serializers
.
ValidationError
(
raise
serializers
.
ValidationError
(
"Amount_max should be greater or equal than amount_min"
)
"Amount_max should be greater or equal than amount_min"
)
...
...
backend/models/tag/__init__.py
View file @
9e62f092
from
.tag
import
Tag
,
TagSerializer
,
TagViewSet
# noqa: F401
from
.tag
import
Tag
,
TagSerializer
,
TagViewSet
# noqa: F401
from
.taggedItem
import
TaggedItem
,
TaggedItemSerializer
,
TaggedItemViewSet
# noqa: F401
from
.taggedItem
import
TaggedItem
,
TaggedItemSerializer
,
TaggedItemViewSet
# noqa: F401
from
.tagged_item_validation
import
validate_content_against_config
# noqa: F401
backend/models/tag/taggedItem.py
View file @
9e62f092
from
django.db
import
models
from
django.db
import
models
from
backend.models.
my
_mode
l
import
MyModelVersionned
,
MyModelVersionnedSerializer
,
MyModelVersionned
ViewSet
from
backend.models.
basic
_mod
ul
e
import
BasicModule
,
BasicModuleSerializer
,
BasicModule
ViewSet
from
.tag
import
Tag
from
.tag
import
Tag
from
.tagged_item_validation
import
tagged_item_validation
from
backend.validators.tag
import
tagged_item_validation
from
backend.models.tools
import
JSONField
from
backend.models.tools
import
JSONField
class
TaggedItem
(
MyModelVersionned
):
class
TaggedItem
(
BasicModule
):
tag
=
models
.
ForeignKey
(
Tag
,
related_name
=
'+'
,
on_delete
=
models
.
PROTECT
)
tag
=
models
.
ForeignKey
(
Tag
,
related_name
=
'+'
,
on_delete
=
models
.
PROTECT
)
custom_content
=
JSONField
(
default
=
dict
)
custom_content
=
JSONField
(
default
=
dict
)
...
@@ -13,13 +13,13 @@ class TaggedItem(MyModelVersionned):
...
@@ -13,13 +13,13 @@ class TaggedItem(MyModelVersionned):
abstract
=
True
abstract
=
True
class
TaggedItemSerializer
(
MyModelVersionned
Serializer
):
class
TaggedItemSerializer
(
BasicModule
Serializer
):
def
my_validate
(
self
,
attrs
):
def
my_validate
(
self
,
attrs
):
tagged_item_validation
(
attrs
)
tagged_item_validation
(
attrs
)
return
attrs
return
attrs
class
TaggedItemViewSet
(
MyModelVersionned
ViewSet
):
class
TaggedItemViewSet
(
BasicModule
ViewSet
):
def
extend_queryset
(
self
):
def
extend_queryset
(
self
):
return
self
.
mymodel_queryset
.
prefetch_related
(
'tag'
)
return
self
.
mymodel_queryset
.
prefetch_related
(
'tag'
)
backend/models/university/__init__.py
View file @
9e62f092
...
@@ -6,6 +6,3 @@ from .universityInfo import UniversityInfo, UniversityInfoSerializer, University
...
@@ -6,6 +6,3 @@ from .universityInfo import UniversityInfo, UniversityInfoSerializer, University
from
.universitySemestersDates
import
UniversitySemestersDates
,
UniversitySemestersDatesSerializer
,
UniversitySemestersDatesViewSet
# noqa: F401
from
.universitySemestersDates
import
UniversitySemestersDates
,
UniversitySemestersDatesSerializer
,
UniversitySemestersDatesViewSet
# noqa: F401
from
.universityModulesAPI
import
UniversityModulesViewSet
# 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
.campus
import
Campus
,
CampusViewSet
,
CampusSerializer
,
MainCampusViewSet
# noqa: F401
from
.campusTaggedItem
import
CampusTaggedItem
,
CampusTaggedItemSerializer
,
CampusTaggedItemViewSet
# noqa: F401
backend/models/university/university.py
View file @
9e62f092
...
@@ -3,7 +3,7 @@ from backend.models.my_model import MyModel
...
@@ -3,7 +3,7 @@ from backend.models.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.
models.tag.
validators.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.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 @
9e62f092
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.module
import
DriRestrictedModule
,
DriRestricted
ModuleSerializer
,
DriRestricted
ModuleViewSet
from
backend.models.
basic_
module
import
BasicModule
,
Basic
ModuleSerializer
,
Basic
ModuleViewSet
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
class
UniversityDri
(
DriRestricted
Module
):
class
UniversityDri
(
Basic
Module
):
model_config
=
get_model_config
(
"UniversityDri"
)
model_config
=
get_model_config
(
"UniversityDri"
)
university
=
models
.
ManyToManyField
(
university
=
models
.
ManyToManyField
(
University
,
related_name
=
"university_dri"
)
University
,
related_name
=
"university_dri"
)
...
@@ -14,14 +14,14 @@ class UniversityDri(DriRestrictedModule):
...
@@ -14,14 +14,14 @@ class UniversityDri(DriRestrictedModule):
return
UniversityDriSerializer
return
UniversityDriSerializer
class
UniversityDriSerializer
(
DriRestricted
ModuleSerializer
):
class
UniversityDriSerializer
(
Basic
ModuleSerializer
):
class
Meta
:
class
Meta
:
model
=
UniversityDri
model
=
UniversityDri
fields
=
'__all__'
fields
=
'__all__'
class
UniversityDriViewSet
(
DriRestricted
ModuleViewSet
):
class
UniversityDriViewSet
(
Basic
ModuleViewSet
):
permission_classes
=
get_viewset_permissions
(
"UniversityDriViewSet"
)
permission_classes
=
get_viewset_permissions
(
"UniversityDriViewSet"
)
queryset
=
UniversityDri
.
objects
.
all
()
# pylint: disable=E1101
queryset
=
UniversityDri
.
objects
.
all
()
# pylint: disable=E1101
serializer_class
=
UniversityDriSerializer
serializer_class
=
UniversityDriSerializer
backend/models/university/universityInfo.py
View file @
9e62f092
from
django.db
import
models
from
django.db
import
models
from
backend.models.module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
basic_
module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.models.
location
import
Currency
from
backend.models.
currency
import
Currency
from
django.core.validators
import
MinValueValidator
from
django.core.validators
import
MinValueValidator
from
backend.utils
import
get_model_config
,
get_viewset_permissions
from
backend.utils
import
get_model_config
,
get_viewset_permissions
...
...
backend/models/university/universityModulesAPI.py
View file @
9e62f092
from
backend.models.university
import
University
from
backend.models.university
import
University
from
backend.models.
university.
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.my_model
import
MyModelSerializer
,
MyModelViewSet
...
...
backend/models/university/universityScholarship.py
View file @
9e62f092
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.
module
import
Scholarship
,
ScholarshipSerializer
,
ScholarshipViewSet
from
backend.models.
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
...
...
backend/models/university/universitySemestersDates.py
View file @
9e62f092
from
django.db
import
models
from
django.db
import
models
from
backend.models.module
import
BasicModule
,
BasicModuleSerializer
,
BasicModuleViewSet
from
backend.models.
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
...
@@ -29,6 +29,8 @@ class UniversitySemestersDates(BasicModule):
...
@@ -29,6 +29,8 @@ class UniversitySemestersDates(BasicModule):
class
UniversitySemestersDatesSerializer
(
BasicModuleSerializer
):
class
UniversitySemestersDatesSerializer
(
BasicModuleSerializer
):
def
my_validate
(
self
,
attrs
):
def
my_validate
(
self
,
attrs
):
attrs
=
super
(
UniversitySemestersDatesSerializer
,
self
).
my_validate
(
attrs
)
s_b
,
s_e
=
attrs
[
'spring_begin'
],
attrs
[
'spring_end'
]
s_b
,
s_e
=
attrs
[
'spring_begin'
],
attrs
[
'spring_end'
]
a_b
,
a_e
=
attrs
[
'autumn_begin'
],
attrs
[
'autumn_end'
]
a_b
,
a_e
=
attrs
[
'autumn_begin'
],
attrs
[
'autumn_end'
]
...
...
backend/models/university/universityTaggedItem.py
View file @
9e62f092
...
@@ -14,7 +14,7 @@ class UniversityTaggedItem(TaggedItem):
...
@@ -14,7 +14,7 @@ class UniversityTaggedItem(TaggedItem):
return
UniversityTaggedItemSerializer
return
UniversityTaggedItemSerializer
class
Meta
:
class
Meta
:
unique_together
=
(
'university'
,
'tag'
)
unique_together
=
(
'university'
,
'tag'
,
'importance_level'
)
class
UniversityTaggedItemSerializer
(
TaggedItemSerializer
):
class
UniversityTaggedItemSerializer
(
TaggedItemSerializer
):
...
...
backend/tests/test_scholarhip_validate.py
View file @
9e62f092
from
django.test
import
TestCase
from
django.test
import
TestCase
from
backend.models.
module.
scholarship
import
ScholarshipSerializer
from
backend.models.scholarship
import
ScholarshipSerializer
import
pytest
import
pytest
from
rest_framework.validators
import
ValidationError
from
rest_framework.validators
import
ValidationError
...
@@ -8,15 +8,15 @@ class ScholarshipTestCase(TestCase):
...
@@ -8,15 +8,15 @@ class ScholarshipTestCase(TestCase):
def
test_scholarhip_validation
(
self
):
def
test_scholarhip_validation
(
self
):
ser
=
ScholarshipSerializer
()
ser
=
ScholarshipSerializer
()
with
pytest
.
raises
(
ValidationError
):
attrs
=
{
attrs
=
{
'amount_max'
:
100
,
'usefull_links'
:
[]
,
'amount_min'
:
200
'comment'
:
''
}
}
with
pytest
.
raises
(
ValidationError
):
attrs
[
'amount_min'
]
=
200
attrs
[
'amount_max'
]
=
100
ser
.
my_validate
(
attrs
)
ser
.
my_validate
(
attrs
)
attrs
=
{
attrs
[
'amount_min'
]
=
100
'amount_max'
:
200
,
attrs
[
'amount_max'
]
=
200
'amount_min'
:
100
}
ser
.
my_validate
(
attrs
)
ser
.
my_validate
(
attrs
)
backend/tests/test_semester_dates_validate.py
View file @
9e62f092
...
@@ -11,7 +11,10 @@ class SemesterDatesTestCase(TestCase):
...
@@ -11,7 +11,10 @@ class SemesterDatesTestCase(TestCase):
def
test_validation
(
self
):
def
test_validation
(
self
):
def
build
(
l
):
def
build
(
l
):
return
{
sem
:
val
for
sem
,
val
in
zip
(
semesters
,
l
)}
tmp
=
{
sem
:
val
for
sem
,
val
in
zip
(
semesters
,
l
)}
tmp
[
'comment'
]
=
""
tmp
[
'usefull_links'
]
=
[]
return
tmp
def
_test_attrs_error
(
attrs
):
def
_test_attrs_error
(
attrs
):
with
pytest
.
raises
(
ValidationError
):
with
pytest
.
raises
(
ValidationError
):
...
...
backend/tests/test_validation_url.py
View file @
9e62f092
...
@@ -2,7 +2,7 @@ from django.test import TestCase
...
@@ -2,7 +2,7 @@ from django.test import TestCase
import
pytest
import
pytest
from
rest_framework.validators
import
ValidationError
as
RFValidationError
from
rest_framework.validators
import
ValidationError
as
RFValidationError
from
django.core.validators
import
ValidationError
as
DJValidationError
from
django.core.validators
import
ValidationError
as
DJValidationError
from
backend.
models.tag.
validators.url
import
validate_extension
,
validate_url
from
backend.validators.
tag.
url
import
validate_extension
,
validate_url
class
ValidationUrlTestCase
(
TestCase
):
class
ValidationUrlTestCase
(
TestCase
):
...
...
backend/validators/__init__.py
0 → 100644
View file @
9e62f092
backend/
models/tag/
validators/__init__.py
→
backend/validators/
tag/
__init__.py
View file @
9e62f092
from
.url
import
validate_url
# noqa: F401
from
.url
import
validate_url
# noqa: F401
from
.text
import
validate_text
# noqa: F401
from
.text
import
validate_text
# noqa: F401
from
.tagged_item_validation
import
validate_content_against_config
# noqa: F401
Prev
1
2
3
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