Add very basic Vue.js grid/index experiment for Users table
This commit is contained in:
parent
25e61cc8d5
commit
993d8c3b4e
4 changed files with 137 additions and 0 deletions
|
@ -42,6 +42,7 @@ from tailbone import forms
|
|||
from tailbone.db import Session
|
||||
from tailbone.views import MasterView
|
||||
from tailbone.views.principal import PrincipalMasterView, PermissionsRenderer
|
||||
from tailbone.config import expose_vuejs_experiments
|
||||
|
||||
|
||||
class UsersView(PrincipalMasterView):
|
||||
|
@ -124,6 +125,16 @@ class UsersView(PrincipalMasterView):
|
|||
g.set_link('last_name')
|
||||
g.set_link('display_name')
|
||||
|
||||
def template_kwargs_index(self, **kwargs):
|
||||
kwargs['expose_vuejs_experiments'] = expose_vuejs_experiments(self.rattail_config)
|
||||
return kwargs
|
||||
|
||||
def vue_index(self):
|
||||
if not expose_vuejs_experiments(self.rattail_config):
|
||||
raise self.notfound()
|
||||
|
||||
return self.render_to_response('vue_index', {})
|
||||
|
||||
def unique_username(self, node, value):
|
||||
query = self.Session.query(model.User)\
|
||||
.filter(model.User.username == value)
|
||||
|
@ -308,6 +319,21 @@ class UsersView(PrincipalMasterView):
|
|||
assert not removing._roles
|
||||
self.Session.delete(removing)
|
||||
|
||||
@classmethod
|
||||
def defaults(cls, config):
|
||||
rattail_config = config.registry.settings.get('rattail_config')
|
||||
route_prefix = cls.get_route_prefix()
|
||||
url_prefix = cls.get_url_prefix()
|
||||
permission_prefix = cls.get_permission_prefix()
|
||||
|
||||
# vue-index
|
||||
config.add_route('{}.vue_index'.format(route_prefix), '{}/vue-index/'.format(url_prefix))
|
||||
config.add_view(cls, attr='vue_index', route_name='{}.vue_index'.format(route_prefix),
|
||||
permission='{}.list'.format(permission_prefix))
|
||||
|
||||
cls._principal_defaults(config)
|
||||
cls._defaults(config)
|
||||
|
||||
|
||||
class UserEventsView(MasterView):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue