horizon/openstack_dashboard/dashboards/settings/user/views.py
Nicolas Simonds 9172a7ba0b Make pagination tunable through the settings panel
This patch set expands on the fine work done in https://review.openstack.org/26022

It makes the number of items displayed a per-user tunable through
the "Settings" panel and a session cookie, with the default/max
values being the values set in django.conf.settings

Fixes Bug: 1046915
Change-Id: I38ef4845d46bce62e44209865885aff8eb0bac83
2013-05-08 12:29:25 -07:00

36 lines
1.3 KiB
Python

# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 Nebula, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from django.conf import settings
from horizon import forms
from .forms import UserSettingsForm
class UserSettingsView(forms.ModalFormView):
form_class = UserSettingsForm
template_name = 'settings/user/settings.html'
def get_initial(self):
return {'language': self.request.LANGUAGE_CODE,
'timezone': self.request.session.get('django_timezone', 'UTC'),
'pagesize': self.request.session.get(
'horizon_pagesize',
getattr(settings, 'API_RESULT_PAGE_SIZE', 20))}
def form_valid(self, form):
return form.handle(self.request, form.cleaned_data)