Skip to content

Commit

Permalink
Merge pull request #204 from FroggyTaipei/staging
Browse files Browse the repository at this point in the history
Release 1.0.2 on release
  • Loading branch information
travishen authored Feb 23, 2019
2 parents f93e46f + de1049b commit a8f2dd8
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 31 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ $ kubectl create namespace app

Create secrets
```
$ kubectl create secret generic environs --from-env-file .env.example --namespace app
$ kubectl create secret generic environs --from-env-file .env --namespace app
```

Run the following command to create the deployments and services objects:
Expand Down
8 changes: 8 additions & 0 deletions backend/apps/cases/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,11 @@ class Meta:
fields = ['id', 'number', 'create_time', 'title',
'content', 'location', 'type', 'state',
'arranges', 'disapprove_info']


class VuetableParamsExpectations(serializers.Serializer):
page = serializers.IntegerField(min_value=1, default=10)
limit = serializers.IntegerField(min_value=1, default=1)
ascending = serializers.ChoiceField(choices=('desc', 'asc'), default='desc')
sort = serializers.ChoiceField(choices=('id', 'state', 'type', 'create_time'), default='id')
query = serializers.CharField(default='')
30 changes: 21 additions & 9 deletions backend/apps/cases/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
CaseRetrieveSerializer,
TypeSerializer,
RegionSerializer,
VuetableParamsExpectations,
)
from apps.arranges.models import Arrange
from .models import (
Expand Down Expand Up @@ -63,18 +64,29 @@ def perform_create(self, serializer):

@action(methods=['GET'], detail=False)
def vuetable(self, request):
"""配合前端vuetable-2 server side render
* query: 搜尋參數
* limit: 單頁筆數
* sort: 排序欄位
* ascending: 順逆排
* page: 第幾頁
"""
queryset = self.queryset
kwargs = self.request.query_params

limit = int(kwargs.get('limit', None) or 5)
# by_column = int(kwargs.get('byColumn', None) or 0)
page = int(kwargs.get('page', None) or 1) - 1
ascending = kwargs.get('ascending', None) or 'desc'
query = kwargs.get('query', None) or ''
order_by = kwargs.get('orderBy', None) or 'id'
qpe = VuetableParamsExpectations(data=request.query_params)
if not qpe.is_valid():
return Response(
data=qpe.errors,
status=status.HTTP_400_BAD_REQUEST,
)
query = qpe.validated_data['query']
ascending = qpe.validated_data['ascending']
sort = qpe.validated_data['sort']
page = qpe.validated_data['page'] - 1
limit = qpe.validated_data['limit']

if ascending == 'desc':
order_by = '-' + order_by
sort = '-' + sort

for state, title in State.CHOICES:
if query == title:
Expand All @@ -96,7 +108,7 @@ def vuetable(self, request):

count = queryset.count()
start = limit * page
queryset = queryset.order_by(order_by)[start:start+limit]
queryset = queryset.order_by(sort)[start:start+limit]

serializer = self.serializer_class(queryset, many=True)
result = {
Expand Down
5 changes: 3 additions & 2 deletions backend/config/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
import environ
import datetime

from google.oauth2 import service_account
from django.utils.translation import ugettext_lazy as _

from google.oauth2 import service_account

ROOT_DIR = environ.Path(__file__) - 2

# Load operating system environment variables and then prepare to use them
Expand Down Expand Up @@ -394,7 +395,7 @@
# ------------------------------------------------------------------------------
SUIT_CONFIG = {
'ADMIN_NAME': _("Froggy's Service"),
'SEARCH_URL': '/admin/cases/case/',
'SEARCH_URL': 'admin:cases_case_changelist',
'HEADER_DATE_FORMAT': 'l, Y F j',
'HEADER_TIME_FORMAT': 'H:i',
'LIST_PER_PAGE': 30,
Expand Down
18 changes: 0 additions & 18 deletions docker-compose-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,3 @@ services:
- ./backend/media/:/media/
- ./backend/staticfiles/:/staticfiles/
- ./nginx/prod.conf:/etc/nginx/nginx.conf:ro

backups:
image: prodrigestivill/postgres-backup-local
restart: on-failure
depends_on:
- postgres
volumes:
- /tmp/backups/:/backups/

portainer:
image: portainer/portainer
ports:
- "9000:9000"
command: -H unix:///var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data

2 changes: 1 addition & 1 deletion frontend/src/components/CaseList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export default {
id: 'min_tabletL',
create_time: 'min_tabletL'
},
sortable: ['id'],
sortable: ['id', 'state', 'type', 'create_time'],
filterable: ['id', 'title', 'state'],
listColumns: {
state: [
Expand Down

0 comments on commit a8f2dd8

Please sign in to comment.