Skip to content

Commit

Permalink
initial support for class level views
Browse files Browse the repository at this point in the history
  • Loading branch information
joamag committed Apr 25, 2017
1 parent 016826f commit d5ec762
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 12 deletions.
9 changes: 6 additions & 3 deletions src/appier_extras/parts/admin/part.py
Original file line number Diff line number Diff line change
Expand Up @@ -936,12 +936,14 @@ def operation_model(self, model, operation):
def view_model(self, model, view):
appier.ensure_login(self, token = "admin.models." + model)

_id = self.field("id", mandatory = True)
_id = self.field("id", None)
is_global = False if _id else True

model = self.get_model(model)
model.assert_is_concrete_g()

entity = model.get_v(_id = self.get_adapter().object_id(_id))
if _id: entity = model.get_v(_id = self.get_adapter().object_id(_id))
else: entity = model

object = appier.get_object(
alias = True,
Expand Down Expand Up @@ -970,7 +972,8 @@ def view_model(self, model, view):
entities = entities,
page = page,
definition = definition,
names = names
names = names,
is_global = is_global
)

@appier.ensure(token = "admin")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% block name %}{{ entity }}{% endblock %}
{% block buttons %}
{{ super() }}
<ul class="drop-down links force" data-name="Links">
<ul class="drop-down links" data-name="Links">
{% for link in model.links() %}
{% set link_valid = not link.devel or own.is_devel() %}
{% if link.instance and link_valid %}
Expand All @@ -20,7 +20,7 @@
{% endif %}
{% endfor %}
</ul>
<ul class="drop-down operations force" data-name="Operations">
<ul class="drop-down operations" data-name="Operations">
{% for operation in model.operations() %}
{% set operation_valid = not operation.devel or own.is_devel() %}
{% if operation.instance and operation_valid %}
Expand All @@ -43,7 +43,7 @@
{% endif %}
{% endfor %}
</ul>
<ul class="drop-down views force" data-name="Views">
<ul class="drop-down views" data-name="Views">
{% for view in model.views() %}
{% set view_valid = not view.devel or own.is_devel() %}
{% if view.instance and view_valid %}
Expand Down
21 changes: 19 additions & 2 deletions src/appier_extras/parts/admin/templates/fluid/models/show.html.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{% block style %}no-padding{% endblock %}
{% block buttons %}
{{ super() }}
<ul class="drop-down links force" data-name="Links">
<ul class="drop-down links" data-name="Links">
{% for link in model.links() %}
{% set link_valid = not link.devel or own.is_devel() %}
{% if not link.instance and link_valid %}
Expand Down Expand Up @@ -46,7 +46,8 @@
</ul>
<ul class="drop-down operations" data-name="Operations">
{% for operation in model.operations() %}
{% if operation.instance %}
{% set operation_valid = not operation.devel or own.is_devel() %}
{% if operation.instance and operation_valid %}
{% if operation.parameters %}
<li>
<a class="button" data-window_open="#window-{{ operation.method }}">{{ operation.name }}</a>
Expand All @@ -59,6 +60,22 @@
{% endif %}
{% endfor %}
</ul>
<ul class="drop-down globals" data-name="Views">
{% for view in model.views() %}
{% set view_valid = not view.devel or own.is_devel() %}
{% if not view.instance and view_valid %}
{% if view.parameters %}
<li>
<a class="button" data-window_open="#window-{{ view.method }}">{{ view.name }}</a>
</li>
{% else %}
<li>
<a href="{{ url_for('admin.view_model', model = model._name(), view = view.method) }}" >{{ view.name }}</a>
</li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
<div class="button button-color button-green"
data-link="{{ url_for('admin.new_entity', model = model._name()) }}">New</div>
{% endblock %}
Expand Down
15 changes: 11 additions & 4 deletions src/appier_extras/parts/admin/templates/fluid/views/show.html.tpl
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
{% extends "admin/admin.fluid.html.tpl" %}
{% block title %}{{ entity }} / {{ definition.name }}{% endblock %}
{% block title %}{% if is_global %}{{ model._plural() }}{% else %}{{ entity }}{% endif %} / {{ definition.name }}{% endblock %}
{% block name %}
<a href="{{ url_for('admin.show_entity', model = model._name(), _id = entity._id) }}">
{{ entity }}
</a>/
{% if is_global %}
<a href="{{ url_for('admin.show_model', model = model._name()) }}">
{{ model._plural() }}
</a>
{% else %}
<a href="{{ url_for('admin.show_entity', model = model._name(), _id = entity._id) }}">
{{ entity }}
</a>
{% endif %}
<span>/</span>
<span>{{ definition.name }}</span>
{% endblock %}
{% block style %}no-padding{% endblock %}
Expand Down

0 comments on commit d5ec762

Please sign in to comment.