Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
re2o
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nounous
re2o
Commits
3a0dda00
Commit
3a0dda00
authored
Jun 16, 2018
by
Maël Kervella
Committed by
Maël Kervella
Jun 20, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add preferences API endpoints
parent
ca0744a3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
140 additions
and
106 deletions
+140
-106
api/serializers.py
api/serializers.py
+58
-60
api/urls.py
api/urls.py
+14
-8
api/views.py
api/views.py
+68
-38
No files found.
api/serializers.py
View file @
3a0dda00
...
...
@@ -239,66 +239,64 @@ class OuverturePortSerializer(NamespacedHMSerializer):
# PREFERENCES APP
# class OptionalUserSerializer(NamespacedHMSerializer):
# tel_mandatory = serializers.BooleanField(source='is_tel_mandatory')
#
# class Meta:
# model = preferences.OptionalUser
# fields = ('tel_mandatory', 'user_solde', 'solde_negatif', 'max_solde',
# 'min_online_payement', 'gpg_fingerprint',
# 'all_can_create_club', 'self_adhesion', 'shell_default',
# 'api_url')
#
#
# class OptionalMachineSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.OptionalMachine
# fields = ('password_machine', 'max_lambdauser_interfaces',
# 'max_lambdauser_aliases', 'ipv6_mode', 'create_machine',
# 'ipv6', 'api_url')
#
#
# class OptionalTopologieSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.OptionalTopologie
# fields = ('radius_general_policy', 'vlan_decision_ok',
# 'vlan_decision_no', 'api_url')
#
#
# class GeneralOptionSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.GeneralOption
# fields = ('general_message', 'search_display_page',
# 'pagination_number', 'pagination_large_number',
# 'req_expire_hrs', 'site_name', 'email_from', 'GTU_sum_up',
# 'GTU', 'api_url')
#
#
# class ServiceOptionSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.ServiceOption
# fields = ('name', 'url', 'description', 'image', 'api_url')
#
#
# class AssoOptionSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.AssoOption
# fields = ('name', 'siret', 'adresse1', 'adresse2', 'contact',
# 'telephone', 'pseudo', 'utilisateur_asso', 'payement',
# 'payement_id', 'payement_pass', 'description', 'api_url')
#
#
# class HomeOptionSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.HomeOption
# fields = ('facebook_url', 'twitter_url', 'twitter_account_name',
# 'api_url')
#
#
# class MailMessageOptionSerializer(NamespacedHMSerializer):
# class Meta:
# model = preferences.MailMessageOption
# fields = ('welcome_mail_fr', 'welcome_mail_en', 'api_url')
class
OptionalUserSerializer
(
NamespacedHMSerializer
):
tel_mandatory
=
serializers
.
BooleanField
(
source
=
'is_tel_mandatory'
)
class
Meta
:
model
=
preferences
.
OptionalUser
fields
=
(
'tel_mandatory'
,
'user_solde'
,
'solde_negatif'
,
'max_solde'
,
'min_online_payment'
,
'gpg_fingerprint'
,
'all_can_create_club'
,
'self_adhesion'
,
'shell_default'
)
class
OptionalMachineSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
OptionalMachine
fields
=
(
'password_machine'
,
'max_lambdauser_interfaces'
,
'max_lambdauser_aliases'
,
'ipv6_mode'
,
'create_machine'
,
'ipv6'
)
class
OptionalTopologieSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
OptionalTopologie
fields
=
(
'radius_general_policy'
,
'vlan_decision_ok'
,
'vlan_decision_nok'
)
class
GeneralOptionSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
GeneralOption
fields
=
(
'general_message'
,
'search_display_page'
,
'pagination_number'
,
'pagination_large_number'
,
'req_expire_hrs'
,
'site_name'
,
'email_from'
,
'GTU_sum_up'
,
'GTU'
)
class
ServiceSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
Service
fields
=
(
'name'
,
'url'
,
'description'
,
'image'
,
'api_url'
)
class
AssoOptionSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
AssoOption
fields
=
(
'name'
,
'siret'
,
'adresse1'
,
'adresse2'
,
'contact'
,
'telephone'
,
'pseudo'
,
'utilisateur_asso'
,
'payment'
,
'payment_id'
,
'payment_pass'
,
'description'
)
class
HomeOptionSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
HomeOption
fields
=
(
'facebook_url'
,
'twitter_url'
,
'twitter_account_name'
)
class
MailMessageOptionSerializer
(
NamespacedHMSerializer
):
class
Meta
:
model
=
preferences
.
MailMessageOption
fields
=
(
'welcome_mail_fr'
,
'welcome_mail_en'
)
...
...
api/urls.py
View file @
3a0dda00
...
...
@@ -58,14 +58,7 @@ router.register(r'machines/servicelinks', views.ServiceLinkViewSet, base_name='s
router
.
register
(
r
'machines/ouvertureportlists'
,
views
.
OuverturePortListViewSet
)
router
.
register
(
r
'machines/ouvertureports'
,
views
.
OuverturePortViewSet
)
# PREFERENCES APP
#router.register(r'preferences/optionaluser', views.OptionalUserSerializer)
#router.register(r'preferences/optionalmachine', views.OptionalMachineSerializer)
#router.register(r'preferences/optionaltopologie', views.OptionalTopologieSerializer)
#router.register(r'preferences/generaloption', views.GeneralOptionSerializer)
#router.register(r'preferences/serviceoption', views.ServiceOptionSerializer)
#router.register(r'preferences/assooption', views.AssoOptionSerializer)
#router.register(r'preferences/homeoption', views.HomeOptionSerializer)
#router.register(r'preferences/mailmessageoption', views.MailMessageOptionSerializer)
router
.
register
(
r
'preferences/service'
,
views
.
ServiceViewSet
),
# TOPOLOGIE APP
router
.
register
(
r
'topologie/stack'
,
views
.
StackViewSet
)
router
.
register
(
r
'topologie/acesspoint'
,
views
.
AccessPointViewSet
)
...
...
@@ -91,10 +84,23 @@ router.register(r'services/regen', views.ServiceRegenViewSet, base_name='service
urlpatterns
=
[
# VIEWSETS
url
(
r
'^'
,
include
(
router
.
urls
)),
# PREFERENCES APP
url
(
r
'^preferences/optionaluser'
,
views
.
OptionalUserView
.
as_view
()),
url
(
r
'^preferences/optionalmachine'
,
views
.
OptionalMachineView
.
as_view
()),
url
(
r
'^preferences/optionaltopologie'
,
views
.
OptionalTopologieView
.
as_view
()),
url
(
r
'^preferences/generaloption'
,
views
.
GeneralOptionView
.
as_view
()),
url
(
r
'^preferences/assooption'
,
views
.
AssoOptionView
.
as_view
()),
url
(
r
'^preferences/homeoption'
,
views
.
HomeOptionView
.
as_view
()),
url
(
r
'^preferences/mailmessageoption'
,
views
.
MailMessageOptionView
.
as_view
()),
# DHCP
url
(
r
'^dhcp/hostmacip'
,
views
.
HostMacIpView
.
as_view
()),
# DNS
url
(
r
'^dns/zones'
,
views
.
DNSZonesView
.
as_view
()),
# MAILING
url
(
r
'^mailing/standard'
,
views
.
StandardMailingView
.
as_view
()),
url
(
r
'^mailing/club'
,
views
.
ClubMailingView
.
as_view
()),
# TOKEN-AUTH
url
(
r
'^token-auth'
,
views
.
ObtainExpiringAuthToken
.
as_view
())
]
api/views.py
View file @
3a0dda00
...
...
@@ -178,45 +178,75 @@ class OuverturePortViewSet(viewsets.ReadOnlyModelViewSet):
# PREFERENCES APP
# Those views differ a bit because there is only one object
# to display, so we don't bother with the listing part
# class OptionalUserViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.OptionalUser.objects.all()
# serializer_class = serializers.OptionalUserSerializer
#
#
# class OptionalMachineViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.OptionalMachine.objects.all()
# serializer_class = serializers.OptionalMachineSerializer
#
#
# class OptionalTopologieViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.OptionalTopologie.objects.all()
# serializer_class = serializers.OptionalTopologieSerializer
#
#
# class GeneralOptionViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.GeneralOption.objects.all()
# serializer_class = serializers.GeneralOptionSerializer
#
#
# class ServiceOptionViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.ServiceOption.objects.all()
# serializer_class = serializers.ServiceOptionSerializer
#
#
# class AssoOptionViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.AssoOption.objects.all()
# serializer_class = serializers.AssoOptionSerializer
#
#
# class HomeOptionViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.HomeOption.objects.all()
# serializer_class = serializers.HomeOptionSerializer
#
#
# class MailMessageOptionViewSet(viewsets.ReadOnlyModelViewSet):
# queryset = preferences.MailMessageOption.objects.all()
# serializer_class = serializers.MailMessageOptionSerializer
class
OptionalUserView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
OptionalUser
.
can_view_all
]}
serializer_class
=
serializers
.
OptionalUserSerializer
def
get_object
(
self
):
return
preferences
.
OptionalUser
.
objects
.
first
()
class
OptionalMachineView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
OptionalMachine
.
can_view_all
]}
serializer_class
=
serializers
.
OptionalMachineSerializer
def
get_object
(
self
):
return
preferences
.
OptionalMachine
.
objects
.
first
()
class
OptionalTopologieView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
OptionalTopologie
.
can_view_all
]}
serializer_class
=
serializers
.
OptionalTopologieSerializer
def
get_object
(
self
):
return
preferences
.
OptionalTopologie
.
objects
.
first
()
class
GeneralOptionView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
GeneralOption
.
can_view_all
]}
serializer_class
=
serializers
.
GeneralOptionSerializer
def
get_object
(
self
):
return
preferences
.
GeneralOption
.
objects
.
first
()
class
ServiceViewSet
(
viewsets
.
ReadOnlyModelViewSet
):
queryset
=
preferences
.
Service
.
objects
.
all
()
serializer_class
=
serializers
.
ServiceSerializer
class
AssoOptionView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
AssoOption
.
can_view_all
]}
serializer_class
=
serializers
.
AssoOptionSerializer
def
get_object
(
self
):
return
preferences
.
AssoOption
.
objects
.
first
()
class
HomeOptionView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
HomeOption
.
can_view_all
]}
serializer_class
=
serializers
.
HomeOptionSerializer
def
get_object
(
self
):
return
preferences
.
HomeOption
.
objects
.
first
()
class
MailMessageOptionView
(
generics
.
RetrieveAPIView
):
permission_classes
=
(
ACLPermission
,
)
perms_map
=
{
'GET'
:
[
preferences
.
MailMessageOption
.
can_view_all
]}
serializer_class
=
serializers
.
MailMessageOptionSerializer
def
get_object
(
self
):
return
preferences
.
MailMessageOption
.
objects
.
first
()
# TOPOLOGIE APP
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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