Add "view profile" for viewing *all* details of a given person at once
feature preview (easter egg) only for now though, lots of refinement to do yet
This commit is contained in:
parent
ec70d85638
commit
6ae703dfd9
2 changed files with 180 additions and 0 deletions
|
@ -225,6 +225,20 @@ class PeopleView(MasterView):
|
|||
(model.VendorContact, 'person_uuid'),
|
||||
]
|
||||
|
||||
def view_profile(self):
|
||||
"""
|
||||
View which exposes the "full profile" for a given person, i.e. all
|
||||
related customer, employee, user info etc.
|
||||
"""
|
||||
self.viewing = True
|
||||
person = self.get_instance()
|
||||
context = {
|
||||
'person': person,
|
||||
'instance': person,
|
||||
'instance_title': self.get_instance_title(person),
|
||||
}
|
||||
return self.render_to_response('view_profile', context)
|
||||
|
||||
def make_user(self):
|
||||
uuid = self.request.POST['person_uuid']
|
||||
person = self.Session.query(model.Person).get(uuid)
|
||||
|
@ -249,8 +263,19 @@ class PeopleView(MasterView):
|
|||
|
||||
@classmethod
|
||||
def _people_defaults(cls, config):
|
||||
permission_prefix = cls.get_permission_prefix()
|
||||
route_prefix = cls.get_route_prefix()
|
||||
url_prefix = cls.get_url_prefix()
|
||||
model_key = cls.get_model_key()
|
||||
model_title = cls.get_model_title()
|
||||
|
||||
# view profile
|
||||
config.add_tailbone_permission(permission_prefix, '{}.view_profile'.format(permission_prefix),
|
||||
"View full \"profile\" for {}".format(model_title))
|
||||
config.add_route('{}.view_profile'.format(route_prefix), '{}/{{{}}}/profile'.format(url_prefix, model_key),
|
||||
request_method='GET')
|
||||
config.add_view(cls, attr='view_profile', route_name='{}.view_profile'.format(route_prefix),
|
||||
permission='{}.view_profile'.format(permission_prefix))
|
||||
|
||||
# make user for person
|
||||
config.add_route('{}.make_user'.format(route_prefix), '{}/make-user'.format(url_prefix),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue