Add basic support for Person quickie lookup
shows profile view if person is found
This commit is contained in:
parent
d77de76c97
commit
12eeb5df97
7 changed files with 109 additions and 5 deletions
|
@ -478,9 +478,6 @@ class MasterView(View):
|
|||
the given object, or ``None``.
|
||||
"""
|
||||
|
||||
def quickie(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def get_quickie_url(self):
|
||||
route_prefix = self.get_route_prefix()
|
||||
return self.request.route_url('{}.quickie'.format(route_prefix))
|
||||
|
@ -492,6 +489,30 @@ class MasterView(View):
|
|||
def get_quickie_placeholder(self):
|
||||
pass
|
||||
|
||||
def quickie(self):
|
||||
"""
|
||||
Quickie search - tries to do a simple lookup based on a key
|
||||
value. If a record is found, user is redirected to its view.
|
||||
"""
|
||||
entry = self.request.params.get('entry', '').strip()
|
||||
if not entry:
|
||||
self.request.session.flash("No search criteria specified", 'error')
|
||||
return self.redirect(self.request.get_referrer())
|
||||
|
||||
obj = self.do_quickie_lookup(entry)
|
||||
if not obj:
|
||||
model_title = self.get_model_title()
|
||||
self.request.session.flash(f"{model_title} not found: {entry}", 'error')
|
||||
return self.redirect(self.request.get_referrer())
|
||||
|
||||
return self.redirect(self.get_quickie_result_url(obj))
|
||||
|
||||
def do_quickie_lookup(self, entry):
|
||||
pass
|
||||
|
||||
def get_quickie_result_url(self, obj):
|
||||
return self.get_action_url('view', obj)
|
||||
|
||||
def make_row_grid(self, factory=None, key=None, data=None, columns=None, **kwargs):
|
||||
"""
|
||||
Make and return a new (configured) rows grid instance.
|
||||
|
@ -2422,7 +2443,7 @@ class MasterView(View):
|
|||
context['product_key_field'] = self.get_product_key_field()
|
||||
context['product_key_label'] = self.get_product_key_label()
|
||||
|
||||
if self.expose_quickie_search:
|
||||
if self.should_expose_quickie_search():
|
||||
context['quickie'] = self.get_quickie_context()
|
||||
|
||||
if self.grid_index:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue