mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
API refactoring and new domain form fields.
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
:error-messages="formErrors['name']"
|
||||
>
|
||||
</v-text-field>
|
||||
<v-select label="Type" :items="domainTypes" />
|
||||
<v-text-field label="Quota"
|
||||
v-model="domain.quota"
|
||||
suffix="MB"
|
||||
@@ -27,6 +28,13 @@
|
||||
:error-messages="formErrors['default_mailbox_quota']"
|
||||
>
|
||||
</v-text-field>
|
||||
<v-text-field label="Message sending limit"
|
||||
v-model="domain.message_limit"
|
||||
suffix="per day"
|
||||
:error="formErrors['message_limit']"
|
||||
:error-messages="formErrors['message_limit']"
|
||||
>
|
||||
</v-text-field>
|
||||
<v-checkbox label="Enabled"
|
||||
v-model="domain.enabled"
|
||||
>
|
||||
@@ -71,7 +79,8 @@ export default {
|
||||
data () {
|
||||
return {
|
||||
formErrors: {},
|
||||
domain: {}
|
||||
domain: {},
|
||||
domainTypes: ['Domain', 'Relay domain']
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -7,7 +7,7 @@ function setupAxios (token) {
|
||||
}
|
||||
|
||||
function fetchUser (commit) {
|
||||
return Vue.prototype.$axios.get('/accounts/me').then(resp => {
|
||||
return Vue.prototype.$axios.get('/account/me').then(resp => {
|
||||
commit('SET_AUTH_USER', { authUser: resp.data, isAuthenticated: true })
|
||||
})
|
||||
}
|
||||
|
||||
@@ -67,7 +67,6 @@ class AccountViewSet(viewsets.ModelViewSet):
|
||||
"""Return a serializer."""
|
||||
action_dict = {
|
||||
"list": serializers.AccountSerializer,
|
||||
"me": serializers.AccountSerializer,
|
||||
"retrieve": serializers.AccountSerializer,
|
||||
"password": serializers.AccountPasswordSerializer,
|
||||
"reset_password": serializers.ResetPasswordSerializer,
|
||||
@@ -87,12 +86,6 @@ class AccountViewSet(viewsets.ModelViewSet):
|
||||
queryset = queryset.filter(mailbox__domain__name=domain)
|
||||
return queryset
|
||||
|
||||
@action(methods=["get"], detail=False)
|
||||
def me(self, request):
|
||||
"""Return information about connected user."""
|
||||
serializer = self.get_serializer(request.user)
|
||||
return Response(serializer.data)
|
||||
|
||||
@action(methods=["put"], detail=True)
|
||||
def password(self, request, pk=None):
|
||||
"""Change account password."""
|
||||
|
||||
@@ -8,6 +8,8 @@ from django_otp.plugins.otp_totp.models import TOTPDevice
|
||||
from rest_framework import permissions, response, viewsets
|
||||
from rest_framework.decorators import action
|
||||
|
||||
from modoboa.admin import serializers as admin_serializers
|
||||
|
||||
from . import models
|
||||
from . import serializers
|
||||
|
||||
@@ -20,6 +22,12 @@ class AccountViewSet(viewsets.ViewSet):
|
||||
|
||||
permission_classes = (permissions.IsAuthenticated, )
|
||||
|
||||
@action(methods=["get"], detail=False)
|
||||
def me(self, request):
|
||||
"""Return information about connected user."""
|
||||
serializer = admin_serializers.AccountSerializer(request.user)
|
||||
return response.Response(serializer.data)
|
||||
|
||||
@action(methods=["post"], detail=False, url_path="tfa/setup")
|
||||
def tfa_setup(self, request):
|
||||
"""Initiate TFA setup."""
|
||||
|
||||
Reference in New Issue
Block a user