Skip to content

Commit

Permalink
docs corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
dpgaspar committed Jun 30, 2015
1 parent 099b1be commit d9ebed6
Show file tree
Hide file tree
Showing 15 changed files with 51 additions and 48 deletions.
Binary file modified docs/_build/doctrees/advanced.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/api.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/customizing.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/_build/doctrees/quickhowto.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/templates.doctree
Binary file not shown.
18 changes: 9 additions & 9 deletions docs/_build/html/_sources/advanced.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ It's very flexible, you can apply multiple filters with static values, or values
return g.user

class MyView(ModelView):
datamodel = SQLAModel(MyTable)
datamodel = SQLAInterface(MyTable)
base_filters = [['created_by', FilterEqualFunction, get_user],
['name', FilterStartsWith, 'a']]

Expand All @@ -46,7 +46,7 @@ Data structure ('col_name':'asc|desc')
::

class MyView(ModelView):
datamodel = SQLAModel(MyTable)
datamodel = SQLAInterface(MyTable)
base_order = ('my_col_to_be_ordered','asc')


Expand All @@ -56,7 +56,7 @@ Template Extra Arguments
You can pass extra Jinja2 arguments to your custom template, using extra_args property::

class MyView(ModelView):
datamodel = SQLAModel(MyTable)
datamodel = SQLAInterface(MyTable)
extra_args = {'my_extra_arg':'SOMEVALUE'}
show_template = 'my_show_template.html'

Expand All @@ -80,31 +80,31 @@ If you want to filter multiple related fields just add new keys to the dictionar
remember you can add multiple filters for each field also, take a look at the *base_filter* property::

class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
datamodel = SQLAInterface(Contact)
add_form_query_rel_fields = {'group': [['name',FilterStartsWith,'W']],
'gender': [['name',FilterStartsWith,'M']]}


- You can define your own Add, Edit forms to override the automatic form creation::

class MyView(ModelView):
datamodel = SQLAModel(MyModel)
datamodel = SQLAInterface(MyModel)
add_form = AddFormWTF


- You can define what columns will be included on Add or Edit forms,
for example if you have automatic fields like user or date, you can remove this from the Add Form::

class MyView(ModelView):
datamodel = SQLAModel(MyModel)
datamodel = SQLAInterface(MyModel)
add_columns = ['my_field1','my_field2']
edit_columns = ['my_field1']

- You can contribute with any additional fields that are not on a table/model,
for example a confirmation field::

class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
datamodel = SQLAInterface(Contact)
add_form_extra_fields = {'extra': TextField(gettext('Extra Field'),
description=gettext('Extra Field description'),
widget=BS3TextFieldWidget())}
Expand All @@ -123,7 +123,7 @@ remember you can add multiple filters for each field also, take a look at the *b
Next override your field using your new widget::

class ExampleView(ModelView):
datamodel = SQLAModel(ExampleModel)
datamodel = SQLAInterface(ExampleModel)
edit_form_extra_fields = {'field2': TextField('field2',
widget=BS3TextFieldROWidget())}

Expand All @@ -149,7 +149,7 @@ For select fields to be readonly is a special case, but it's solved in a simpler
with *Not Null* (Required) or Unique constraints::

class MyView(ModelView):
datamodel = SQLAModel(MyModel)
datamodel = SQLAInterface(MyModel)
validators_columns = {'my_field1':[EqualTo('my_field2',
message=gettext('fields must match'))
]
Expand Down
13 changes: 7 additions & 6 deletions docs/_build/html/_sources/customizing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,12 @@ or as tab (default).
::

class ServerDiskTypeModelView(ModelView):
datamodel = SQLAModel(ServerDiskType)
datamodel = SQLAInterface(ServerDiskType)
list_columns = ['quantity', 'disktype']


class ServerModelView(ModelView):
datamodel = SQLAModel(Server)
datamodel = SQLAInterface(Server)
related_views = [ServerDiskTypeModelView]

show_template = 'appbuilder/general/model/show_cascade.html'
Expand All @@ -156,12 +156,12 @@ The above example will override the show and edit templates that will change the
If you want to change the above example, and change the way the server disks are displayed has a list just use the available widgets::

class ServerDiskTypeModelView(ModelView):
datamodel = SQLAModel(ServerDiskType)
datamodel = SQLAInterface(ServerDiskType)
list_columns = ['quantity', 'disktype']
list_widget = ListBlock

class ServerModelView(ModelView):
datamodel = SQLAModel(Server)
datamodel = SQLAInterface(Server)
related_views = [ServerDiskTypeModelView]

show_template = 'appbuilder/general/model/show_cascade.html'
Expand All @@ -185,9 +185,10 @@ You have the following widgets already available
- ListThumbnail
- ListBlock

If you want to develop your own widgets just look at the code on:
If you want to develop your own widgets just look at the
`code <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/flask_appbuilder/templates/appbuilder/general/widgets>`_

https://github.com/dpgaspar/Flask-AppBuilder/tree/master/flask_appbuilder/templates/appbuilder/general/widgets
Read the docs for developing your own template widgets :doc:`templates`

Implement your own and then create a very simple class like this one::

Expand Down
2 changes: 1 addition & 1 deletion docs/_build/html/_sources/templates.txt
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ Notice that first we call **super()** so that our control will be placed next to
pagination, add button and back button

.. note:: If you just want to add a new control next to the list controls and keep everything else
from the predefined widgets. extend your widget from {% extends 'appbuilder/general/widgets/list.html' %}
from the predefined widget. extend your widget from {% extends 'appbuilder/general/widgets/list.html' %}
and just implement **list_header** the way it's done on this example.

Next we will render the values of the list, so we will override the **begin_loop_values**
Expand Down
18 changes: 9 additions & 9 deletions docs/_build/html/advanced.html
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ <h2>Base Filtering<a class="headerlink" href="#base-filtering" title="Permalink
<span class="k">return</span> <span class="n">g</span><span class="o">.</span><span class="n">user</span>

<span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">base_filters</span> <span class="o">=</span> <span class="p">[[</span><span class="s">&#39;created_by&#39;</span><span class="p">,</span> <span class="n">FilterEqualFunction</span><span class="p">,</span> <span class="n">get_user</span><span class="p">],</span>
<span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">,</span> <span class="n">FilterStartsWith</span><span class="p">,</span> <span class="s">&#39;a&#39;</span><span class="p">]]</span>
</pre></div>
Expand All @@ -213,7 +213,7 @@ <h2>Default Order<a class="headerlink" href="#default-order" title="Permalink to
<p>Use a default order on your lists, this can be overridden by the user on the UI.
Data structure (&#8216;col_name&#8217;:&#8217;asc|desc&#8217;)</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">base_order</span> <span class="o">=</span> <span class="p">(</span><span class="s">&#39;my_col_to_be_ordered&#39;</span><span class="p">,</span><span class="s">&#39;asc&#39;</span><span class="p">)</span>
</pre></div>
</div>
Expand All @@ -222,7 +222,7 @@ <h2>Default Order<a class="headerlink" href="#default-order" title="Permalink to
<h2>Template Extra Arguments<a class="headerlink" href="#template-extra-arguments" title="Permalink to this headline"></a></h2>
<p>You can pass extra Jinja2 arguments to your custom template, using extra_args property:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyTable</span><span class="p">)</span>
<span class="n">extra_args</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;my_extra_arg&#39;</span><span class="p">:</span><span class="s">&#39;SOMEVALUE&#39;</span><span class="p">}</span>
<span class="n">show_template</span> <span class="o">=</span> <span class="s">&#39;my_show_template.html&#39;</span>
</pre></div>
Expand All @@ -247,23 +247,23 @@ <h2>Forms<a class="headerlink" href="#forms" title="Permalink to this headline">
If you want to filter multiple related fields just add new keys to the dictionary,
remember you can add multiple filters for each field also, take a look at the <em>base_filter</em> property:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">ContactModelView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">Contact</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">Contact</span><span class="p">)</span>
<span class="n">add_form_query_rel_fields</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;group&#39;</span><span class="p">:</span> <span class="p">[[</span><span class="s">&#39;name&#39;</span><span class="p">,</span><span class="n">FilterStartsWith</span><span class="p">,</span><span class="s">&#39;W&#39;</span><span class="p">]],</span>
<span class="s">&#39;gender&#39;</span><span class="p">:</span> <span class="p">[[</span><span class="s">&#39;name&#39;</span><span class="p">,</span><span class="n">FilterStartsWith</span><span class="p">,</span><span class="s">&#39;M&#39;</span><span class="p">]]}</span>
</pre></div>
</div>
<ul>
<li><p class="first">You can define your own Add, Edit forms to override the automatic form creation:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">add_form</span> <span class="o">=</span> <span class="n">AddFormWTF</span>
</pre></div>
</div>
</li>
<li><p class="first">You can define what columns will be included on Add or Edit forms,
for example if you have automatic fields like user or date, you can remove this from the Add Form:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">add_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;my_field1&#39;</span><span class="p">,</span><span class="s">&#39;my_field2&#39;</span><span class="p">]</span>
<span class="n">edit_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;my_field1&#39;</span><span class="p">]</span>
</pre></div>
Expand All @@ -272,7 +272,7 @@ <h2>Forms<a class="headerlink" href="#forms" title="Permalink to this headline">
<li><p class="first">You can contribute with any additional fields that are not on a table/model,
for example a confirmation field:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">ContactModelView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">Contact</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">Contact</span><span class="p">)</span>
<span class="n">add_form_extra_fields</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;extra&#39;</span><span class="p">:</span> <span class="n">TextField</span><span class="p">(</span><span class="n">gettext</span><span class="p">(</span><span class="s">&#39;Extra Field&#39;</span><span class="p">),</span>
<span class="n">description</span><span class="o">=</span><span class="n">gettext</span><span class="p">(</span><span class="s">&#39;Extra Field description&#39;</span><span class="p">),</span>
<span class="n">widget</span><span class="o">=</span><span class="n">BS3TextFieldWidget</span><span class="p">())}</span>
Expand All @@ -292,7 +292,7 @@ <h2>Forms<a class="headerlink" href="#forms" title="Permalink to this headline">
</ul>
<p>Next override your field using your new widget:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">ExampleView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">ExampleModel</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">ExampleModel</span><span class="p">)</span>
<span class="n">edit_form_extra_fields</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;field2&#39;</span><span class="p">:</span> <span class="n">TextField</span><span class="p">(</span><span class="s">&#39;field2&#39;</span><span class="p">,</span>
<span class="n">widget</span><span class="o">=</span><span class="n">BS3TextFieldROWidget</span><span class="p">())}</span>
</pre></div>
Expand All @@ -318,7 +318,7 @@ <h2>Forms<a class="headerlink" href="#forms" title="Permalink to this headline">
Remember the framework will automatically validate any field that is defined on the database
with <em>Not Null</em> (Required) or Unique constraints:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyView</span><span class="p">(</span><span class="n">ModelView</span><span class="p">):</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAModel</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">datamodel</span> <span class="o">=</span> <span class="n">SQLAInterface</span><span class="p">(</span><span class="n">MyModel</span><span class="p">)</span>
<span class="n">validators_columns</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;my_field1&#39;</span><span class="p">:[</span><span class="n">EqualTo</span><span class="p">(</span><span class="s">&#39;my_field2&#39;</span><span class="p">,</span>
<span class="n">message</span><span class="o">=</span><span class="n">gettext</span><span class="p">(</span><span class="s">&#39;fields must match&#39;</span><span class="p">))</span>
<span class="p">]</span>
Expand Down

0 comments on commit d9ebed6

Please sign in to comment.