[IMP]: Update User Documentation
@ -1,8 +1,8 @@
|
|||||||
:orphan:
|
:orphan:
|
||||||
|
|
||||||
======================================
|
=========================================
|
||||||
JSDoc parser/Sphinx extension for Flectra
|
JSDoc parser/Sphinx extension for Flectra
|
||||||
======================================
|
=========================================
|
||||||
|
|
||||||
Why?
|
Why?
|
||||||
====
|
====
|
||||||
|
@ -48,117 +48,10 @@
|
|||||||
{%- block header -%}
|
{%- block header -%}
|
||||||
<header class="o_main_header o_has_sub_nav o_inverted {{ ' '.join(classes) }}">
|
<header class="o_main_header o_has_sub_nav o_inverted {{ ' '.join(classes) }}">
|
||||||
<div class="o_main_header_main">
|
<div class="o_main_header_main">
|
||||||
<a class="pull-left o_logo" href="/"></a>
|
<a class="pull-left o_logo" href="https://flectrahq.com"></a>
|
||||||
<a href="#" class="o_mobile_menu_toggle visible-xs-block pull-right">
|
|
||||||
<span class="sr-only">Toggle navigation</span>
|
|
||||||
<span class="mdi-navigation-menu"></span>
|
|
||||||
</a>
|
|
||||||
<div class="o_header_buttons">
|
|
||||||
<a href="http://www.flectra.com/trial" class="btn btn-primary">Start Now</a>
|
|
||||||
</div>
|
|
||||||
<ul class="o_primary_nav">
|
<ul class="o_primary_nav">
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle">Apps</a>
|
|
||||||
<div class="dropdown-menu o_secondary_nav">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 o_website_apps">
|
|
||||||
<div class="o_nav_app_family">
|
|
||||||
<span></span> Websites
|
|
||||||
<div>Build great user experience</div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/website-builder">Website Builder</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/e-commerce">eCommerce</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/blog-engine">Blogs</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/community-builder">Forums</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/slides">Slides</a></li>
|
|
||||||
<li><a href="https://adspike.flectra.com">SEA</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3 o_sale_apps">
|
|
||||||
<div class="o_nav_app_family">
|
|
||||||
<span></span> Sales
|
|
||||||
<div>Boost your success rate</div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/sales">Sales</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/crm">CRM</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/billing">Invoicing</a></li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#0" class="dropdown-toggle">Point of Sale</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/point-of-sale">Shops</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/pos-restaurant">Restaurants</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
</li>
|
||||||
<li><a href="https://www.flectra.com/page/subscriptions">Subscriptions</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/sign">Sign</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3 o_operation_apps">
|
|
||||||
<div class="o_nav_app_family">
|
|
||||||
<span></span> Operations
|
|
||||||
<div>It's all about efficiency</div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/accounting/">Accounting</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/project-management/">Project</a></li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#0" class="dropdown-toggle">Human Resources</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/recruitment">Recruitment</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/employees">Employees</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/expenses">Expenses</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/appraisal">Appraisal</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/fleet">Fleet</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/leaves">Leaves</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a href="https://www.flectra.com/page/warehouse">Inventory</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/purchase">Purchase</a></li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#0" class="dropdown-toggle">Manufacturing</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/manufacturing">MRP</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/plm">PLM</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/maintenance">Maintenance</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/quality">Quality</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3 o_productivity_apps">
|
|
||||||
<div class="o_nav_app_family">
|
|
||||||
<span></span> Productivity Tools
|
|
||||||
<div>Great Tools = Happy People</div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#0" class="dropdown-toggle">Communication</a>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.flectra.com/page/discuss">Discuss</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/discuss-groups">Mailing Lists</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/notes">Notes</a></li>
|
|
||||||
<li><a href="#">Help desk</a></li>
|
|
||||||
<li><a href="#">Appointment</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a href="https://www.flectra.com/page/timesheet">Timesheet</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/email-marketing">Email Marketing</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/events">Events</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/survey">Survey</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/live-chat">Live Chat</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a href="http://www.flectra.com/apps/modules" class="o_store_link"><i class="fa fa-cube fa-fw"></i> Third party apps</a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li><a href="https://www.flectra.com/page/tour">Tour</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/pricing">Pricing</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/docs">Docs</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<nav class="navbar o_sub_nav">
|
<nav class="navbar o_sub_nav">
|
||||||
@ -177,10 +70,6 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<div class="call-to-action navbar-right hidden-xs">
|
|
||||||
<a href="http://www.flectra.com/trial" class="btn btn-primary">Start Now</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul class="navbar-nav navbar-right nav o_sub_nav_actions">
|
<ul class="navbar-nav navbar-right nav o_sub_nav_actions">
|
||||||
{% if pagename != master_doc %}
|
{% if pagename != master_doc %}
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
@ -196,10 +85,6 @@
|
|||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% block sub_menu_desktop %}
|
|
||||||
{% include "sub-menu_list.html" %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% if languages or versions %}
|
{% if languages or versions %}
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -236,7 +121,7 @@
|
|||||||
{{ toc }}
|
{{ toc }}
|
||||||
{% if github_link %}
|
{% if github_link %}
|
||||||
<p class="gith-container"><a href="{{ github_link(mode='edit') }}" class="gith-link">
|
<p class="gith-container"><a href="{{ github_link(mode='edit') }}" class="gith-link">
|
||||||
Edit on GitHub
|
Edit on GitLab
|
||||||
</a></p>
|
</a></p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
@ -276,42 +161,17 @@
|
|||||||
<div class="col-xs-6 col-sm-4">
|
<div class="col-xs-6 col-sm-4">
|
||||||
<span class="menu_title">Community</span>
|
<span class="menu_title">Community</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://github.com/flectra/flectra">Github</a></li>
|
<li><a href="https://gitlab.com/flectra-hq/flectra">GitLab
|
||||||
<li><a href="http://www.flectra.com/page/download">Download</a></li>
|
</a></li>
|
||||||
|
<li><a href="https://flectrahq.com/download">Download</a></li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li><a href="http://runbot.flectra.com/runbot/repo/git-github-com-flectra-enterprise-7">Runbot</a></li>
|
|
||||||
<li><a href="https://github.com/flectra/flectra/wiki/Translations">Translations</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="http://www.flectra.com/page/flectra-community">Mailing Lists</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/forum/help-1">Forum</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-4">
|
<div class="col-xs-6 col-sm-4">
|
||||||
<span class="menu_title">Services</span>
|
|
||||||
<ul>
|
|
||||||
<li><a href="http://www.flectra.com/pricing">Editions</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/pricing-online">Cloud Pricing</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/page/upgrade">Upgrade</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="http://www.flectra.com/partners">Find a partner</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/page/become-a-partner">Become a partner</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="http://www.flectra.com/page/education-program">Education</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="http://www.flectra.com/page/security">Security</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4 mb64">
|
|
||||||
<span class="menu_title">About us</span>
|
<span class="menu_title">About us</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://www.flectra.com/page/about-us">Our company</a></li>
|
<li><a href="https://flectrahq.com/contactus">Contact</a></li>
|
||||||
<li><a href="http://www.flectra.com/page/contactus">Contact</a></li>
|
|
||||||
<li class="divider" />
|
<li class="divider" />
|
||||||
<li><a href="http://www.flectra.com/event">Events</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/blog/">Blog</a></li>
|
|
||||||
<li><a href="http://www.flectra.com/blog/6">Customers</a></li>
|
|
||||||
<li class="divider" />
|
|
||||||
<li><a href="http://www.flectra.com/jobs">Jobs</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -329,11 +189,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="o_footer_bottom">
|
<div class="o_footer_bottom">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="small" href="http://www.flectra.com/page/website-builder">Website made with <span class="o_logo o_logo_inverse o_logo_15"></span></a>
|
|
||||||
<div class="social-links pull-right">
|
<div class="social-links pull-right">
|
||||||
<a href="http://www.flectra.com/web/about/facebook"><i class="fa fa-facebook"></i></a>
|
<a href="https://www.facebook.com/flectrahq"><i class="fa fa-facebook"></i></a>
|
||||||
<a href="http://www.flectra.com/web/about/twitter"><i class="fa fa-twitter"></i></a>
|
<a href="https://twitter.com/flectrahq"><i class="fa fa-twitter"></i></a>
|
||||||
<a href="http://www.flectra.com/web/about/linkedin"><i class="fa fa-linkedin"></i></a>
|
|
||||||
<a href="mailto:info@flectra.com"><i class="fa fa-envelope"></i></a>
|
<a href="mailto:info@flectra.com"><i class="fa fa-envelope"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
BIN
doc/_extensions/flectra_ext/static/img/flectra_logo_rgb.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
doc/_extensions/flectra_ext/static/img/flectra_logo_white.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
doc/_extensions/flectra_ext/static/img/logos/flectra_logo.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,78 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="800px" height="350px" viewBox="0 0 800 350" style="enable-background:new 0 0 800 350;" xml:space="preserve">
|
||||||
|
<rect style="display:none;" width="800" height="350"/>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;" d="M135.55,163.083c0,0,7.69,26.345,33.097,44.28h111.345
|
||||||
|
c0,0-3.195-20.385,0.767-44.287L135.55,163.083z"/>
|
||||||
|
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;" d="M228.436,101.231c5.857-14.035,34.104-44.08,75.541-26.84
|
||||||
|
l63.472-0.164L319.41,84.862c0,0-25.254,25.398-34.652,60.649H81.103c0,0-22.948-14.831-33.319-44.281H228.436L228.436,101.231z
|
||||||
|
M289.486,82.889c-2.597,0-4.702,2.106-4.702,4.705c0,2.598,2.105,4.704,4.702,4.704c2.596,0,4.701-2.106,4.701-4.704
|
||||||
|
C294.188,84.995,292.083,82.889,289.486,82.889z"/>
|
||||||
|
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;" d="M223.241,225.077l60.127-0.031
|
||||||
|
c5.785,22.587,15.106,37.899,19.125,44.437C294.204,269.464,251.567,268.697,223.241,225.077z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#FFFFFF;" d="M327.853,143.301h57.971c1.329,0,2.465,0.474,3.412,1.42c0.946,0.947,1.419,2.084,1.419,3.414
|
||||||
|
c0,1.329-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.412,1.42h-53.14v33.836h38.647c1.329,0,2.465,0.474,3.412,1.42
|
||||||
|
c0.946,0.946,1.419,2.084,1.419,3.414c0,1.329-0.474,2.468-1.419,3.413c-0.946,0.947-2.083,1.42-3.412,1.42h-38.647v38.67
|
||||||
|
c0,1.329-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.412,1.42c-1.328,0-2.466-0.473-3.412-1.42
|
||||||
|
c-0.946-0.946-1.419-2.085-1.419-3.414v-87.007c0-1.33,0.473-2.467,1.419-3.414C325.387,143.775,326.525,143.301,327.853,143.301z
|
||||||
|
"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M400.316,148.135c0-1.33,0.473-2.467,1.419-3.414c0.945-0.946,2.083-1.42,3.412-1.42
|
||||||
|
c1.328,0,2.465,0.474,3.411,1.42c0.945,0.947,1.419,2.084,1.419,3.414v82.174h4.831c1.329,0,2.466,0.474,3.412,1.42
|
||||||
|
c0.945,0.946,1.419,2.084,1.419,3.413s-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.412,1.42h-9.661
|
||||||
|
c-1.329,0-2.467-0.473-3.412-1.42c-0.946-0.946-1.419-2.085-1.419-3.414V148.135z"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M481.717,223.541c1.328,0,2.465,0.474,3.412,1.42c0.945,0.947,1.419,2.084,1.419,3.414
|
||||||
|
c0,1.329-0.464,2.477-1.39,3.443c-6.24,5.438-13.586,8.157-22.04,8.157c-9.341,0-17.312-3.303-23.913-9.909
|
||||||
|
c-6.603-6.605-9.903-14.581-9.903-23.927c0-9.345,3.301-17.32,9.903-23.927c6.602-6.606,14.572-9.91,23.913-9.91
|
||||||
|
c9.339,0,17.31,3.304,23.912,9.91c6.603,6.606,9.903,14.582,9.903,23.927c0,1.329-0.474,2.468-1.419,3.414
|
||||||
|
c-0.946,0.946-2.083,1.42-3.411,1.42h-52.718c0.886,4.632,3.1,8.721,6.643,12.266c4.71,4.713,10.406,7.069,17.09,7.069
|
||||||
|
c6.038,0,11.231-1.913,15.579-5.74C479.582,223.884,480.589,223.541,481.717,223.541z M486.85,201.306
|
||||||
|
c-0.886-4.632-3.101-8.721-6.643-12.266c-4.71-4.713-10.407-7.069-17.089-7.069c-6.684,0-12.38,2.356-17.09,7.069
|
||||||
|
c-3.543,3.545-5.757,7.634-6.643,12.266H486.85z"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M559.132,223.42c1.328,0,2.465,0.474,3.411,1.42c0.945,0.947,1.419,2.085,1.419,3.414
|
||||||
|
s-0.504,2.518-1.51,3.564c-6.24,5.438-13.586,8.157-22.04,8.157c-9.341,0-17.312-3.303-23.913-9.909
|
||||||
|
c-6.603-6.605-9.903-14.581-9.903-23.927c0-9.345,3.301-17.32,9.903-23.927c6.602-6.606,14.572-9.91,23.913-9.91
|
||||||
|
c8.454,0,15.8,2.719,22.04,8.157c1.127,1.008,1.691,2.257,1.691,3.746c0,1.33-0.474,2.468-1.419,3.414
|
||||||
|
c-0.946,0.947-2.084,1.42-3.412,1.42c-1.168,0-2.194-0.362-3.08-1.088c-4.509-3.987-9.782-5.981-15.82-5.981
|
||||||
|
c-6.684,0-12.38,2.356-17.09,7.069s-7.065,10.413-7.065,17.1s2.355,12.387,7.065,17.1s10.406,7.069,17.09,7.069
|
||||||
|
c6.038,0,11.292-1.974,15.761-5.922C557.018,223.743,558.004,223.42,559.132,223.42z"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M608.045,230.309c1.328,0,2.465,0.474,3.411,1.42c0.945,0.946,1.419,2.084,1.419,3.413
|
||||||
|
s-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.411,1.42c-16.104,0-24.155-8.056-24.155-24.169v-33.836h-4.83
|
||||||
|
c-1.329,0-2.467-0.473-3.412-1.42c-0.946-0.946-1.419-2.084-1.419-3.414c0-1.329,0.473-2.467,1.419-3.414
|
||||||
|
c0.945-0.946,2.083-1.42,3.412-1.42h4.83v-24.168c0-1.33,0.474-2.467,1.42-3.414c0.945-0.946,2.083-1.42,3.411-1.42
|
||||||
|
c1.329,0,2.466,0.474,3.412,1.42c0.945,0.947,1.419,2.084,1.419,3.414v24.168h9.723c1.328,0,2.465,0.474,3.411,1.42
|
||||||
|
c0.945,0.947,1.419,2.084,1.419,3.414c0,1.33-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.411,1.42h-9.723v33.836
|
||||||
|
C593.552,225.475,598.383,230.309,608.045,230.309z"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M622.537,177.137c0-1.329,0.473-2.467,1.419-3.414c0.945-0.946,2.083-1.42,3.412-1.42
|
||||||
|
c1.328,0,2.465,0.474,3.411,1.42c0.945,0.947,1.419,2.084,1.419,3.414v5.317c6.764-6.767,14.814-10.151,24.155-10.151
|
||||||
|
c4.71,0,9.037,0.806,12.982,2.417c0.725,0.282,1.389,0.705,1.993,1.269c0.926,0.966,1.389,2.114,1.389,3.443
|
||||||
|
c0,1.33-0.474,2.469-1.419,3.414c-0.946,0.947-2.084,1.42-3.412,1.42c-0.765,0-1.47-0.16-2.113-0.483
|
||||||
|
c-2.859-1.208-5.999-1.813-9.42-1.813c-6.684,0-12.38,2.356-17.09,7.069s-7.065,10.413-7.065,17.1v29.002
|
||||||
|
c0,1.329-0.474,2.468-1.419,3.414c-0.946,0.947-2.083,1.42-3.411,1.42c-1.329,0-2.467-0.473-3.412-1.42
|
||||||
|
c-0.946-0.946-1.419-2.085-1.419-3.414V177.137z"/>
|
||||||
|
<path style="fill:#FFFFFF;" d="M738.479,229.825c-6.764,6.767-14.815,10.15-24.154,10.15c-9.341,0-17.312-3.303-23.913-9.909
|
||||||
|
c-6.603-6.605-9.903-14.581-9.903-23.927c0-9.345,3.301-17.32,9.903-23.927c6.602-6.606,14.572-9.91,23.913-9.91
|
||||||
|
c9.339,0,17.31,3.304,23.912,9.91c6.603,6.606,9.903,14.582,9.903,23.927v29.002c0,1.329-0.474,2.468-1.419,3.414
|
||||||
|
c-0.946,0.947-2.083,1.42-3.411,1.42c-1.329,0-2.467-0.473-3.412-1.42c-0.946-0.946-1.419-2.085-1.419-3.414V229.825z
|
||||||
|
M714.324,181.971c-6.684,0-12.38,2.356-17.09,7.069s-7.065,10.413-7.065,17.1s2.355,12.387,7.065,17.1s10.406,7.069,17.09,7.069
|
||||||
|
c6.682,0,12.379-2.356,17.089-7.069s7.065-10.413,7.065-17.1s-2.355-12.387-7.065-17.1S721.006,181.971,714.324,181.971z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 20 KiB |
@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg width="1254px" height="200px" viewBox="0 0 1254 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
|
||||||
<!-- Generator: Sketch 3.3.3 (12081) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>flectra_logo</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<defs></defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
|
||||||
<g id="flectra_logo" sketch:type="MSArtboardGroup">
|
|
||||||
<g id="flectra_logo_rgb" sketch:type="MSLayerGroup" transform="translate(0.000000, 1.000000)">
|
|
||||||
<path d="M550.5,198.865327 C592.197499,198.865327 626,165.062825 626,123.365327 C626,81.667828 592.197499,47.8653266 550.5,47.8653266 C508.802501,47.8653266 475,81.667828 475,123.365327 C475,165.062825 508.802501,198.865327 550.5,198.865327 Z M550.5,167.865327 C575.076671,167.865327 595,147.941998 595,123.365327 C595,98.7886553 575.076671,78.8653266 550.5,78.8653266 C525.923329,78.8653266 506,98.7886553 506,123.365327 C506,147.941998 525.923329,167.865327 550.5,167.865327 Z" id="Oval-3" fill="#888888" sketch:type="MSShapeGroup"></path>
|
|
||||||
<path d="M390.5,198.865327 C432.197499,198.865327 466,165.062825 466,123.365327 C466,81.667828 432.197499,47.8653266 390.5,47.8653266 C348.802501,47.8653266 315,81.667828 315,123.365327 C315,165.062825 348.802501,198.865327 390.5,198.865327 Z M390.5,167.865327 C415.076671,167.865327 435,147.941998 435,123.365327 C435,98.7886553 415.076671,78.8653266 390.5,78.8653266 C365.923329,78.8653266 346,98.7886553 346,123.365327 C346,147.941998 365.923329,167.865327 390.5,167.865327 Z" id="Oval-2" fill="#888888" sketch:type="MSShapeGroup"></path>
|
|
||||||
<g id="D" transform="translate(157.000000, 0.000000)" fill="#888888" sketch:type="MSShapeGroup">
|
|
||||||
<g id="d-+-Rectangle-1">
|
|
||||||
<path d="M151.130367,122.770274 C151.131897,122.968444 151.132663,123.166796 151.132663,123.365327 C151.132663,165.062825 117.330162,198.865327 75.6326633,198.865327 C33.9351647,198.865327 0.132663317,165.062825 0.132663317,123.365327 C0.132663317,81.667828 33.9351647,47.8653266 75.6326633,47.8653266 C92.7270283,47.8653266 108.494494,53.5464573 121.149994,63.1236518 L121.149994,15.0040777 C121.149994,6.71755439 127.863901,0 136.149994,0 C144.434265,0 151.149994,6.72381102 151.149994,15.0040777 L151.149994,121.995922 C151.149994,122.255634 151.143399,122.513804 151.130367,122.770274 L151.130367,122.770274 Z M75.6326633,167.865327 C100.209335,167.865327 120.132663,147.941998 120.132663,123.365327 C120.132663,98.7886553 100.209335,78.8653266 75.6326633,78.8653266 C51.055992,78.8653266 31.1326633,98.7886553 31.1326633,123.365327 C31.1326633,147.941998 51.055992,167.865327 75.6326633,167.865327 Z" id="d"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<path d="M76.1924623,198.697487 C117.889961,198.697487 151.692462,164.894986 151.692462,123.197487 C151.692462,81.4999888 117.889961,47.6974874 76.1924623,47.6974874 C34.4949637,47.6974874 0.692462312,81.4999888 0.692462312,123.197487 C0.692462312,164.894986 34.4949637,198.697487 76.1924623,198.697487 Z M75.5,168 C100.076671,168 120,148.076671 120,123.5 C120,98.9233286 100.076671,79 75.5,79 C50.9233286,79 31,98.9233286 31,123.5 C31,148.076671 50.9233286,168 75.5,168 Z" id="Oval-1" fill="#9C5789" sketch:type="MSShapeGroup"></path>
|
|
||||||
</g>
|
|
||||||
<g id="flectra_logo_white" sketch:type="MSLayerGroup" transform="translate(627.000000, 1.000000)" fill="#FFFFFF">
|
|
||||||
<path d="M550.5,198.865327 C592.197499,198.865327 626,165.062825 626,123.365327 C626,81.667828 592.197499,47.8653266 550.5,47.8653266 C508.802501,47.8653266 475,81.667828 475,123.365327 C475,165.062825 508.802501,198.865327 550.5,198.865327 Z M550.5,167.865327 C575.076671,167.865327 595,147.941998 595,123.365327 C595,98.7886553 575.076671,78.8653266 550.5,78.8653266 C525.923329,78.8653266 506,98.7886553 506,123.365327 C506,147.941998 525.923329,167.865327 550.5,167.865327 Z" id="Oval-3" sketch:type="MSShapeGroup"></path>
|
|
||||||
<path d="M390.5,198.865327 C432.197499,198.865327 466,165.062825 466,123.365327 C466,81.667828 432.197499,47.8653266 390.5,47.8653266 C348.802501,47.8653266 315,81.667828 315,123.365327 C315,165.062825 348.802501,198.865327 390.5,198.865327 Z M390.5,167.865327 C415.076671,167.865327 435,147.941998 435,123.365327 C435,98.7886553 415.076671,78.8653266 390.5,78.8653266 C365.923329,78.8653266 346,98.7886553 346,123.365327 C346,147.941998 365.923329,167.865327 390.5,167.865327 Z" id="Oval-2" sketch:type="MSShapeGroup"></path>
|
|
||||||
<g id="D" transform="translate(157.000000, 0.000000)" sketch:type="MSShapeGroup">
|
|
||||||
<g id="d-+-Rectangle-1">
|
|
||||||
<path d="M151.130367,122.770274 C151.131897,122.968444 151.132663,123.166796 151.132663,123.365327 C151.132663,165.062825 117.330162,198.865327 75.6326633,198.865327 C33.9351647,198.865327 0.132663317,165.062825 0.132663317,123.365327 C0.132663317,81.667828 33.9351647,47.8653266 75.6326633,47.8653266 C92.7270283,47.8653266 108.494494,53.5464573 121.149994,63.1236518 L121.149994,15.0040777 C121.149994,6.71755439 127.863901,0 136.149994,0 C144.434265,0 151.149994,6.72381102 151.149994,15.0040777 L151.149994,121.995922 C151.149994,122.255634 151.143399,122.513804 151.130367,122.770274 L151.130367,122.770274 Z M75.6326633,167.865327 C100.209335,167.865327 120.132663,147.941998 120.132663,123.365327 C120.132663,98.7886553 100.209335,78.8653266 75.6326633,78.8653266 C51.055992,78.8653266 31.1326633,98.7886553 31.1326633,123.365327 C31.1326633,147.941998 51.055992,167.865327 75.6326633,167.865327 Z" id="d"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<path d="M76.1924623,198.697487 C117.889961,198.697487 151.692462,164.894986 151.692462,123.197487 C151.692462,81.4999888 117.889961,47.6974874 76.1924623,47.6974874 C34.4949637,47.6974874 0.692462312,81.4999888 0.692462312,123.197487 C0.692462312,164.894986 34.4949637,198.697487 76.1924623,198.697487 Z M75.5,168 C100.076671,168 120,148.076671 120,123.5 C120,98.9233286 100.076671,79 75.5,79 C50.9233286,79 31,98.9233286 31,123.5 C31,148.076671 50.9233286,168 75.5,168 Z" id="Oval-1" sketch:type="MSShapeGroup"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 8.0 KiB |
@ -10286,9 +10286,12 @@ main.index .card figcaption {
|
|||||||
color: #273239;
|
color: #273239;
|
||||||
}
|
}
|
||||||
.o_main_header > .o_main_header_main .o_logo {
|
.o_main_header > .o_main_header_main .o_logo {
|
||||||
margin: 15px 0;
|
//margin: 15px 0;
|
||||||
width: 63px;
|
// width: 63px;
|
||||||
height: 20px;
|
//height: 20px;
|
||||||
|
margin: 5px 0;
|
||||||
|
width: 7%;
|
||||||
|
height: 75%;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
.o_main_header > .o_main_header_main > .o_primary_nav {
|
.o_main_header > .o_main_header_main > .o_primary_nav {
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
{# note: if flectra.com/page/docs sub-menu's structure change, these links have to change as well #}
|
|
||||||
|
|
||||||
<li><a href="https://www.flectra.com/documentation/user/11.0/index.html">User</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/documentation/11.0/index.html">Developer</a></li>
|
|
||||||
<li><a href="https://training.flectra.com/">Training center</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/documentation/11.0/webservices/flectra.html">API</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/documentation/11.0/setup/install.html">Installation</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/flectra-white-paper">White Papers</a></li>
|
|
||||||
<li><a href="https://www.flectra.com/page/legal">Legal</a></li>
|
|
@ -86,7 +86,7 @@ def make_github_link(app, path, line=None, mode="blob"):
|
|||||||
)
|
)
|
||||||
return urls.url_unparse((
|
return urls.url_unparse((
|
||||||
'https',
|
'https',
|
||||||
'github.com',
|
'gitlab.com',
|
||||||
urlpath,
|
urlpath,
|
||||||
'',
|
'',
|
||||||
'' if line is None else 'L%d' % line
|
'' if line is None else 'L%d' % line
|
||||||
|
BIN
doc/_static/pull-request-version.png
vendored
Before Width: | Height: | Size: 13 KiB |
@ -11,7 +11,7 @@ Building a Module
|
|||||||
This tutorial requires :ref:`having installed Flectra <setup/install>`
|
This tutorial requires :ref:`having installed Flectra <setup/install>`
|
||||||
|
|
||||||
Start/Stop the Flectra server
|
Start/Stop the Flectra server
|
||||||
==========================
|
=============================
|
||||||
|
|
||||||
Flectra uses a client/server architecture in which clients are web browsers
|
Flectra uses a client/server architecture in which clients are web browsers
|
||||||
accessing the Flectra server via RPC.
|
accessing the Flectra server via RPC.
|
||||||
@ -32,7 +32,7 @@ The server is stopped by hitting ``Ctrl-C`` twice from the terminal, or by
|
|||||||
killing the corresponding OS process.
|
killing the corresponding OS process.
|
||||||
|
|
||||||
Build an Flectra module
|
Build an Flectra module
|
||||||
====================
|
=======================
|
||||||
|
|
||||||
Both server and client extensions are packaged as *modules* which are
|
Both server and client extensions are packaged as *modules* which are
|
||||||
optionally loaded in a *database*.
|
optionally loaded in a *database*.
|
||||||
@ -80,7 +80,7 @@ An Flectra module is declared by its :ref:`manifest <reference/module/manifest>`
|
|||||||
See the :ref:`manifest documentation <reference/module/manifest>` about it.
|
See the :ref:`manifest documentation <reference/module/manifest>` about it.
|
||||||
|
|
||||||
A module is also a
|
A module is also a
|
||||||
`Python package <http://docs.python.org/2/tutorial/modules.html#packages>`_
|
`Python package <http://docs.python.org/3/tutorial/modules.html#packages>`_
|
||||||
with a ``__init__.py`` file, containing import instructions for various Python
|
with a ``__init__.py`` file, containing import instructions for various Python
|
||||||
files in the module.
|
files in the module.
|
||||||
|
|
||||||
@ -1122,8 +1122,7 @@ Gantt
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
The gantt view requires the web_gantt module which is present in
|
The gantt view requires the web_gantt module.
|
||||||
:ref:`the enterprise edition <setup/install/editions>` version.
|
|
||||||
|
|
||||||
Horizontal bar charts typically used to show project planning and advancement,
|
Horizontal bar charts typically used to show project planning and advancement,
|
||||||
their root element is ``<gantt>``.
|
their root element is ``<gantt>``.
|
||||||
|
@ -31,10 +31,10 @@ Index: addons/openacademy/security/security.xml
|
|||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ addons/openacademy/security/security.xml 2014-08-26 17:26:18.135783102 +0200
|
+++ addons/openacademy/security/security.xml 2014-08-26 17:26:18.135783102 +0200
|
||||||
@@ -0,0 +1,7 @@
|
@@ -0,0 +1,7 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <record id="group_manager" model="res.groups">
|
+ <record id="group_manager" model="res.groups">
|
||||||
+ <field name="name">OpenAcademy / Manager</field>
|
+ <field name="name">OpenAcademy / Manager</field>
|
||||||
+ </record>
|
+ </record>
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -24,4 +24,4 @@ Index: addons/openacademy/security/security.xml
|
|||||||
+ </field>
|
+ </field>
|
||||||
+ </record>
|
+ </record>
|
||||||
|
|
||||||
</odoo>
|
</flectra>
|
||||||
|
@ -18,7 +18,7 @@ Index: addons/openacademy/views/openacademy.xml
|
|||||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:25:53.511783468 +0200
|
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:25:53.511783468 +0200
|
||||||
@@ -0,0 +1,35 @@
|
@@ -0,0 +1,35 @@
|
||||||
+<?xml version="1.0" encoding="UTF-8"?>
|
+<?xml version="1.0" encoding="UTF-8"?>
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <!-- window action -->
|
+ <!-- window action -->
|
||||||
+ <!--
|
+ <!--
|
||||||
@ -51,4 +51,4 @@ Index: addons/openacademy/views/openacademy.xml
|
|||||||
+ action="openacademy.course_list_action"
|
+ action="openacademy.course_list_action"
|
||||||
+ It is not required when it is the same module -->
|
+ It is not required when it is the same module -->
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -9,7 +9,7 @@ diff --git a/openacademy/models.py b/openacademy/models.py
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
+from datetime import timedelta
|
+from datetime import timedelta
|
||||||
from odoo import models, fields, api, exceptions
|
from flectra import models, fields, api, exceptions
|
||||||
|
|
||||||
class Course(models.Model):
|
class Course(models.Model):
|
||||||
@@ -55,6 +56,8 @@ class Session(models.Model):
|
@@ -55,6 +56,8 @@ class Session(models.Model):
|
||||||
|
@ -8,8 +8,8 @@ diff --git a/openacademy/models.py b/openacademy/models.py
|
|||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
-from odoo import models, fields, api
|
-from flectra import models, fields, api
|
||||||
+from odoo import models, fields, api, exceptions
|
+from flectra import models, fields, api, exceptions
|
||||||
|
|
||||||
class Course(models.Model):
|
class Course(models.Model):
|
||||||
_name = 'openacademy.course'
|
_name = 'openacademy.course'
|
||||||
|
@ -22,7 +22,7 @@ Index: addons/openacademy/__manifest__.py
|
|||||||
+ 'website': "http://www.yourcompany.com",
|
+ 'website': "http://www.yourcompany.com",
|
||||||
+
|
+
|
||||||
+ # Categories can be used to filter modules in modules listing
|
+ # Categories can be used to filter modules in modules listing
|
||||||
+ # Check https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml
|
+ # Check https://gitlab.com/flectra-hq/flectra/blob/master/flectra-hq/flectra/addons/base/module/module_data.xml
|
||||||
+ # for the full list
|
+ # for the full list
|
||||||
+ 'category': 'Test',
|
+ 'category': 'Test',
|
||||||
+ 'version': '0.1',
|
+ 'version': '0.1',
|
||||||
@ -54,7 +54,7 @@ Index: addons/openacademy/controllers.py
|
|||||||
+++ addons/openacademy/controllers.py 2014-08-26 17:25:49.791783523 +0200
|
+++ addons/openacademy/controllers.py 2014-08-26 17:25:49.791783523 +0200
|
||||||
@@ -0,0 +1,20 @@
|
@@ -0,0 +1,20 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+from odoo import http
|
+from flectra import http
|
||||||
+
|
+
|
||||||
+# class Openacademy(http.Controller):
|
+# class Openacademy(http.Controller):
|
||||||
+# @http.route('/openacademy/openacademy/', auth='public')
|
+# @http.route('/openacademy/openacademy/', auth='public')
|
||||||
@ -78,7 +78,7 @@ Index: addons/openacademy/demo.xml
|
|||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ addons/openacademy/demo.xml 2014-08-26 17:25:49.791783523 +0200
|
+++ addons/openacademy/demo.xml 2014-08-26 17:25:49.791783523 +0200
|
||||||
@@ -0,0 +1,25 @@
|
@@ -0,0 +1,25 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <!-- -->
|
+ <!-- -->
|
||||||
+ <!-- <record id="object0" model="openacademy.openacademy"> -->
|
+ <!-- <record id="object0" model="openacademy.openacademy"> -->
|
||||||
@ -102,7 +102,7 @@ Index: addons/openacademy/demo.xml
|
|||||||
+ <!-- </record> -->
|
+ <!-- </record> -->
|
||||||
+ <!-- -->
|
+ <!-- -->
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
Index: addons/openacademy/models.py
|
Index: addons/openacademy/models.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
@ -110,7 +110,7 @@ Index: addons/openacademy/models.py
|
|||||||
@@ -0,0 +1,8 @@
|
@@ -0,0 +1,8 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+
|
+
|
||||||
+from odoo import models, fields, api
|
+from flectra import models, fields, api
|
||||||
+
|
+
|
||||||
+# class openacademy(models.Model):
|
+# class openacademy(models.Model):
|
||||||
+# _name = 'openacademy.openacademy'
|
+# _name = 'openacademy.openacademy'
|
||||||
@ -128,7 +128,7 @@ Index: addons/openacademy/templates.xml
|
|||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ addons/openacademy/templates.xml 2014-08-26 17:25:49.791783523 +0200
|
+++ addons/openacademy/templates.xml 2014-08-26 17:25:49.791783523 +0200
|
||||||
@@ -0,0 +1,22 @@
|
@@ -0,0 +1,22 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <!-- <template id="listing"> -->
|
+ <!-- <template id="listing"> -->
|
||||||
+ <!-- <ul> -->
|
+ <!-- <ul> -->
|
||||||
@ -149,4 +149,4 @@ Index: addons/openacademy/templates.xml
|
|||||||
+ <!-- </dl> -->
|
+ <!-- </dl> -->
|
||||||
+ <!-- </template> -->
|
+ <!-- </template> -->
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -28,7 +28,7 @@ Index: addons/openacademy/views/session_board.xml
|
|||||||
+++ addons/openacademy/views/session_board.xml 2014-08-26 17:26:21.531783052 +0200
|
+++ addons/openacademy/views/session_board.xml 2014-08-26 17:26:21.531783052 +0200
|
||||||
@@ -0,0 +1,66 @@
|
@@ -0,0 +1,66 @@
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <record model="ir.actions.act_window" id="act_session_graph">
|
+ <record model="ir.actions.act_window" id="act_session_graph">
|
||||||
+ <field name="name">Attendees by course</field>
|
+ <field name="name">Attendees by course</field>
|
||||||
@ -92,4 +92,4 @@ Index: addons/openacademy/views/session_board.xml
|
|||||||
+ sequence="1"
|
+ sequence="1"
|
||||||
+ id="menu_board_session"/>
|
+ id="menu_board_session"/>
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -6,7 +6,7 @@ Index: addons/openacademy/demo.xml
|
|||||||
--- addons.orig/openacademy/demo.xml 2014-08-26 17:25:52.683783480 +0200
|
--- addons.orig/openacademy/demo.xml 2014-08-26 17:25:52.683783480 +0200
|
||||||
+++ addons/openacademy/demo.xml 2014-08-26 17:25:52.679783480 +0200
|
+++ addons/openacademy/demo.xml 2014-08-26 17:25:52.679783480 +0200
|
||||||
@@ -1,25 +1,19 @@
|
@@ -1,25 +1,19 @@
|
||||||
<odoo>
|
<flectra>
|
||||||
|
|
||||||
- <!-- -->
|
- <!-- -->
|
||||||
- <!-- <record id="object0" model="openacademy.openacademy"> -->
|
- <!-- <record id="object0" model="openacademy.openacademy"> -->
|
||||||
@ -45,4 +45,4 @@ Index: addons/openacademy/demo.xml
|
|||||||
+ <field name="description">Course 2's description</field>
|
+ <field name="description">Course 2's description</field>
|
||||||
+ </record>
|
+ </record>
|
||||||
|
|
||||||
</odoo>
|
</flectra>
|
||||||
|
@ -40,4 +40,4 @@ Index: addons/openacademy/views/partner.xml
|
|||||||
+ <field name="name">Teacher / Level 2</field>
|
+ <field name="name">Teacher / Level 2</field>
|
||||||
+ </record>
|
+ </record>
|
||||||
|
|
||||||
</odoo>
|
</flectra>
|
||||||
|
@ -7,7 +7,7 @@ Index: addons/openacademy/views/openacademy.xml
|
|||||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:25:54.283783457 +0200
|
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:25:54.283783457 +0200
|
||||||
@@ -1,6 +1,21 @@
|
@@ -1,6 +1,21 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<odoo>
|
<flectra>
|
||||||
|
|
||||||
+ <record model="ir.ui.view" id="course_form_view">
|
+ <record model="ir.ui.view" id="course_form_view">
|
||||||
+ <field name="name">course.form</field>
|
+ <field name="name">course.form</field>
|
||||||
|
@ -45,7 +45,7 @@ diff --git a/openacademy/views/openacademy.xml b/openacademy/views/openacademy.x
|
|||||||
+ <gantt string="Session Gantt" color="course_id"
|
+ <gantt string="Session Gantt" color="course_id"
|
||||||
+ date_start="start_date" date_delay="hours"
|
+ date_start="start_date" date_delay="hours"
|
||||||
+ default_group_by='instructor_id'>
|
+ default_group_by='instructor_id'>
|
||||||
+ <!-- <field name="name"/> this is not required after Odoo 10.0 -->
|
+ <!-- <field name="name"/> this is not required after flectra 1.0 -->
|
||||||
+ </gantt>
|
+ </gantt>
|
||||||
+ </field>
|
+ </field>
|
||||||
+ </record>
|
+ </record>
|
||||||
|
@ -6,7 +6,7 @@ Index: addons/openacademy/models.py
|
|||||||
+++ addons/openacademy/models.py 2014-08-26 17:25:51.639783496 +0200
|
+++ addons/openacademy/models.py 2014-08-26 17:25:51.639783496 +0200
|
||||||
@@ -2,7 +2,8 @@
|
@@ -2,7 +2,8 @@
|
||||||
|
|
||||||
from odoo import models, fields, api
|
from flectra import models, fields, api
|
||||||
|
|
||||||
-# class openacademy(models.Model):
|
-# class openacademy(models.Model):
|
||||||
-# _name = 'openacademy.openacademy'
|
-# _name = 'openacademy.openacademy'
|
||||||
|
@ -28,7 +28,7 @@ Index: addons/openacademy/partner.py
|
|||||||
+++ addons/openacademy/partner.py 2014-08-26 17:26:01.223783354 +0200
|
+++ addons/openacademy/partner.py 2014-08-26 17:26:01.223783354 +0200
|
||||||
@@ -0,0 +1,12 @@
|
@@ -0,0 +1,12 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+from odoo import fields, models
|
+from flectra import fields, models
|
||||||
+
|
+
|
||||||
+class Partner(models.Model):
|
+class Partner(models.Model):
|
||||||
+ _inherit = 'res.partner'
|
+ _inherit = 'res.partner'
|
||||||
@ -45,7 +45,7 @@ Index: addons/openacademy/views/partner.xml
|
|||||||
+++ addons/openacademy/views/partner.xml 2014-08-26 17:26:01.223783354 +0200
|
+++ addons/openacademy/views/partner.xml 2014-08-26 17:26:01.223783354 +0200
|
||||||
@@ -0,0 +1,32 @@
|
@@ -0,0 +1,32 @@
|
||||||
+<?xml version="1.0" encoding="UTF-8"?>
|
+<?xml version="1.0" encoding="UTF-8"?>
|
||||||
+ <odoo>
|
+ <flectra>
|
||||||
+
|
+
|
||||||
+ <!-- Add instructor field to existing view -->
|
+ <!-- Add instructor field to existing view -->
|
||||||
+ <record model="ir.ui.view" id="partner_instructor_form_view">
|
+ <record model="ir.ui.view" id="partner_instructor_form_view">
|
||||||
@ -75,4 +75,4 @@ Index: addons/openacademy/views/partner.xml
|
|||||||
+ parent="configuration_menu"
|
+ parent="configuration_menu"
|
||||||
+ action="contact_list_action"/>
|
+ action="contact_list_action"/>
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -18,7 +18,7 @@ Index: addons/openacademy/reports.xml
|
|||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ addons/openacademy/reports.xml 2014-08-29 08:41:12.663540061 +0200
|
+++ addons/openacademy/reports.xml 2014-08-29 08:41:12.663540061 +0200
|
||||||
@@ -0,0 +1,30 @@
|
@@ -0,0 +1,30 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <report
|
+ <report
|
||||||
+ id="report_session"
|
+ id="report_session"
|
||||||
@ -47,4 +47,4 @@ Index: addons/openacademy/reports.xml
|
|||||||
+ </t>
|
+ </t>
|
||||||
+ </template>
|
+ </template>
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -55,4 +55,4 @@ Index: addons/openacademy/views/openacademy.xml
|
|||||||
+ parent="openacademy_menu"
|
+ parent="openacademy_menu"
|
||||||
+ action="session_list_action"/>
|
+ action="session_list_action"/>
|
||||||
|
|
||||||
</odoo>
|
</flectra>
|
||||||
|
@ -8,8 +8,8 @@ diff --git a/openacademy/models.py b/openacademy/models.py
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
-from odoo import models, fields, api, exceptions
|
-from flectra import models, fields, api, exceptions
|
||||||
+from odoo import models, fields, api, exceptions, _
|
+from flectra import models, fields, api, exceptions, _
|
||||||
|
|
||||||
class Course(models.Model):
|
class Course(models.Model):
|
||||||
_name = 'openacademy.course'
|
_name = 'openacademy.course'
|
||||||
|
@ -14,7 +14,7 @@ Index: addons/openacademy/wizard.py
|
|||||||
@@ -0,0 +1,10 @@
|
@@ -0,0 +1,10 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+
|
+
|
||||||
+from odoo import models, fields, api
|
+from flectra import models, fields, api
|
||||||
+
|
+
|
||||||
+class Wizard(models.TransientModel):
|
+class Wizard(models.TransientModel):
|
||||||
+ _name = 'openacademy.wizard'
|
+ _name = 'openacademy.wizard'
|
||||||
|
@ -42,4 +42,4 @@ Index: addons/openacademy/views/openacademy.xml
|
|||||||
+ target="new"
|
+ target="new"
|
||||||
+ key2="client_action_multi"/>
|
+ key2="client_action_multi"/>
|
||||||
+
|
+
|
||||||
</odoo>
|
</flectra>
|
||||||
|
Before Width: | Height: | Size: 330 KiB |
Before Width: | Height: | Size: 333 KiB |
Before Width: | Height: | Size: 100 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_after_menu.png
Normal file
After Width: | Height: | Size: 328 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_cms.jpg
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_functionalities.jpg
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_intro.jpg
Normal file
After Width: | Height: | Size: 217 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_page.jpg
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_page_structure.jpg
Normal file
After Width: | Height: | Size: 177 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 174 KiB |
After Width: | Height: | Size: 37 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_snippet.jpg
Normal file
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 134 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_structure.jpg
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_styles.jpg
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/flectra_upgrade_module.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
doc/howtos/theme_tutorial_assets/img/folder.jpeg
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 93 KiB |
@ -11,7 +11,7 @@ freedom for the user to customize everything according to their needs.
|
|||||||
|
|
||||||
Ready to create your own theme? Great. Here are some things you should know before you begin. This tutorial is a guide to creating an Flectra theme.
|
Ready to create your own theme? Great. Here are some things you should know before you begin. This tutorial is a guide to creating an Flectra theme.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/Intro.jpg
|
.. image:: theme_tutorial_assets/img/flectra_intro.jpg
|
||||||
|
|
||||||
|
|
||||||
An introduction for web designers
|
An introduction for web designers
|
||||||
@ -25,7 +25,7 @@ This introduction will outline the basics of Flectra theme creation.
|
|||||||
Flectra’s team has created a framework that’s powerful and easy to use. There’s no need to know special syntaxes to use this set of tools.
|
Flectra’s team has created a framework that’s powerful and easy to use. There’s no need to know special syntaxes to use this set of tools.
|
||||||
|
|
||||||
From common CMS to Flectra
|
From common CMS to Flectra
|
||||||
-----------------------
|
--------------------------
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -39,9 +39,9 @@ This is usually the first question from a web designer used to working with Word
|
|||||||
|
|
||||||
.. container:: row
|
.. container:: row
|
||||||
|
|
||||||
.. container:: col-sm-4
|
.. container:: col-sm-5
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/cms.jpg
|
.. image:: theme_tutorial_assets/img/flectra_cms.jpg
|
||||||
|
|
||||||
.. container:: col-sm-7
|
.. container:: col-sm-7
|
||||||
|
|
||||||
@ -54,11 +54,11 @@ This is usually the first question from a web designer used to working with Word
|
|||||||
We think that theme design should be simple (and powerful). When we created our Website Builder, we decided to start from scratch instead of relying on what already existed. This approach gave us the freedom to focus on the things that are really important for designers: styles, content and the logic behind them. No more struggling with technical stuff.
|
We think that theme design should be simple (and powerful). When we created our Website Builder, we decided to start from scratch instead of relying on what already existed. This approach gave us the freedom to focus on the things that are really important for designers: styles, content and the logic behind them. No more struggling with technical stuff.
|
||||||
|
|
||||||
Flectra default theme structure
|
Flectra default theme structure
|
||||||
----------------------------
|
-------------------------------
|
||||||
|
|
||||||
.. container:: row
|
.. container:: row
|
||||||
|
|
||||||
.. container:: col-sm-8
|
.. container:: col-sm-7
|
||||||
|
|
||||||
Flectra comes with a default theme structure.
|
Flectra comes with a default theme structure.
|
||||||
It is a very basic “theme” that provides minimal structure and layout. When you create a new theme, you are actually extending this.
|
It is a very basic “theme” that provides minimal structure and layout. When you create a new theme, you are actually extending this.
|
||||||
@ -67,13 +67,13 @@ Flectra default theme structure
|
|||||||
|
|
||||||
As a result, you are totally free to focus on design while this structure does the job of providing integrations and functionality.
|
As a result, you are totally free to focus on design while this structure does the job of providing integrations and functionality.
|
||||||
|
|
||||||
.. container:: col-sm-4
|
.. container:: col-sm-5
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/def_structure.jpg
|
.. image:: theme_tutorial_assets/img/flectra_structure.jpg
|
||||||
|
|
||||||
.. container:: row
|
.. container:: row
|
||||||
|
|
||||||
.. container:: col-md-6
|
.. container:: col-md-7
|
||||||
|
|
||||||
**Main features:**
|
**Main features:**
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ Flectra default theme structure
|
|||||||
* Automatic Less/Sass compiling
|
* Automatic Less/Sass compiling
|
||||||
* Automatic Js and CSS minification and combination
|
* Automatic Js and CSS minification and combination
|
||||||
|
|
||||||
.. container:: col-md-6
|
.. container:: col-md-5
|
||||||
|
|
||||||
**Main technologies:**
|
**Main technologies:**
|
||||||
|
|
||||||
@ -109,34 +109,40 @@ Let’s take a tour of our “list” elements:
|
|||||||
|
|
||||||
.. container:: row
|
.. container:: row
|
||||||
|
|
||||||
.. figure:: theme_tutorial_assets/img/snippet.jpg
|
.. container:: col-sm-6
|
||||||
:figclass: col-sm-6
|
|
||||||
|
.. image:: theme_tutorial_assets/img/flectra_snippet.jpg
|
||||||
|
|
||||||
|
|
||||||
|
.. container:: col-sm-6
|
||||||
|
|
||||||
Snippets (or building-blocks)
|
Snippets (or building-blocks)
|
||||||
|
|
||||||
A piece of HTML code. The user will drag&drop, modify and combine them using our built-in Website Builder interface. You can define sets of options and styles for each snippet. The user will choose from them according to their needs.
|
A piece of HTML code. The user will drag&drop, modify and combine them using our built-in Website Builder interface. You can define sets of options and styles for each snippet. The user will choose from them according to their needs.
|
||||||
|
|
||||||
.. figure:: theme_tutorial_assets/img/page.jpg
|
|
||||||
:figclass: col-sm-6
|
.. container:: row
|
||||||
|
|
||||||
|
.. container:: col-sm-6
|
||||||
|
|
||||||
Pages
|
Pages
|
||||||
|
|
||||||
These are normal web pages, except that they will be editable by the final user and that you can define an empty area that the user can “fill” by dragging snippets into it.
|
These are normal web pages, except that they will be editable by the final user and that you can define an empty area that the user can “fill” by dragging snippets into it.
|
||||||
|
|
||||||
.. raw:: html
|
.. container:: col-sm-6
|
||||||
|
|
||||||
<div class="clearfix themes"></div>
|
.. image:: theme_tutorial_assets/img/flectra_page.jpg
|
||||||
|
|
||||||
.. container:: row
|
.. container:: row
|
||||||
|
|
||||||
.. figure:: theme_tutorial_assets/img/styles.jpg
|
.. figure:: theme_tutorial_assets/img/flectra_styles.jpg
|
||||||
:figclass: col-sm-6
|
:figclass: col-sm-6
|
||||||
|
|
||||||
Styles
|
Styles
|
||||||
|
|
||||||
Styles are defined using standard CSS files (or Less/Sass). You can define a style as **default** or **optional**. The default styles are always active in your theme, the optional styles can be enabled or disabled by the user.
|
Styles are defined using standard CSS files (or Less/Sass). You can define a style as **default** or **optional**. The default styles are always active in your theme, the optional styles can be enabled or disabled by the user.
|
||||||
|
|
||||||
.. figure:: theme_tutorial_assets/img/functionalities.jpg
|
.. figure:: theme_tutorial_assets/img/flectra_functionalities.jpg
|
||||||
:figclass: col-sm-6
|
:figclass: col-sm-6
|
||||||
|
|
||||||
Functionalities
|
Functionalities
|
||||||
@ -145,7 +151,7 @@ Let’s take a tour of our “list” elements:
|
|||||||
|
|
||||||
|
|
||||||
Flectra's XML files, an overview
|
Flectra's XML files, an overview
|
||||||
-----------------------------
|
--------------------------------
|
||||||
|
|
||||||
Any Flectra XML file starts with encoding specifications.
|
Any Flectra XML file starts with encoding specifications.
|
||||||
After that, you have to write your code inside a ``<flectra>`` tag.
|
After that, you have to write your code inside a ``<flectra>`` tag.
|
||||||
@ -198,7 +204,7 @@ Update your theme
|
|||||||
|
|
||||||
.. container:: col-sm-5
|
.. container:: col-sm-5
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/upgrade_module.png
|
.. image:: theme_tutorial_assets/img/flectra_upgrade_module.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -233,7 +239,7 @@ Flectra’s themes are packaged like modules. Even if you are designing a very s
|
|||||||
|
|
||||||
The final result should be something like this:
|
The final result should be something like this:
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/folder.jpg
|
.. image:: theme_tutorial_assets/img/folder.jpeg
|
||||||
|
|
||||||
Edit ``__manifest__.py``
|
Edit ``__manifest__.py``
|
||||||
------------------------
|
------------------------
|
||||||
@ -259,7 +265,7 @@ These values will be used to identify your new theme in Flectra’s backend.
|
|||||||
|
|
||||||
The ``data`` property will contain the xml files list. Right now it’s empty, but we will add any new files created.
|
The ``data`` property will contain the xml files list. Right now it’s empty, but we will add any new files created.
|
||||||
|
|
||||||
``category`` defines your module category (always “Theme”) and, after a slash, the subcategory. You can use one subcategory from the Flectra Apps categories list. (https://www.flectra.com/apps/themes)
|
``category`` defines your module category (always “Theme”) and, after a slash, the subcategory.You can use one subcategory from the Flectra Apps categories list. (https://store.flectrahq.com/apps/category/2)
|
||||||
|
|
||||||
|
|
||||||
``depends`` specifies the modules needed by our theme to work properly. For our tutorial theme, we only need website. If you need blogging or eCommerce features as well, you have to add those modules too.
|
``depends`` specifies the modules needed by our theme to work properly. For our tutorial theme, we only need website. If you need blogging or eCommerce features as well, you have to add those modules too.
|
||||||
@ -280,7 +286,7 @@ To install your theme, you just place your theme folder inside addons in your Fl
|
|||||||
After that, navigate to the Settings page, look for your theme and click on the install button.
|
After that, navigate to the Settings page, look for your theme and click on the install button.
|
||||||
|
|
||||||
Structure of an Flectra page
|
Structure of an Flectra page
|
||||||
=========================
|
============================
|
||||||
|
|
||||||
An Flectra page is the visual result of a combination of 2 kind of elements, **cross-pages** and **unique**.
|
An Flectra page is the visual result of a combination of 2 kind of elements, **cross-pages** and **unique**.
|
||||||
By default, Flectra provides you with a **Header** and a **Footer** (cross-pages) and a unique main element that contains the content that makes your page unique.
|
By default, Flectra provides you with a **Header** and a **Footer** (cross-pages) and a unique main element that contains the content that makes your page unique.
|
||||||
@ -289,7 +295,7 @@ By default, Flectra provides you with a **Header** and a **Footer** (cross-pages
|
|||||||
|
|
||||||
Cross-pages elements will be the same on every page. Unique elements are related to a specific page only.
|
Cross-pages elements will be the same on every page. Unique elements are related to a specific page only.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/page_structure.jpg
|
.. image:: theme_tutorial_assets/img/flectra_page_structure.jpg
|
||||||
|
|
||||||
To inspect the default layout, simply create a new page using the
|
To inspect the default layout, simply create a new page using the
|
||||||
Website Builder. Click on :menuselection:`Content --> New Page` and
|
Website Builder. Click on :menuselection:`Content --> New Page` and
|
||||||
@ -367,7 +373,7 @@ Great! We successfully added an id to the
|
|||||||
header and an element after the navigation menu. These changes will be
|
header and an element after the navigation menu. These changes will be
|
||||||
applied to each page of the website.
|
applied to each page of the website.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/after-menu.png
|
.. image:: theme_tutorial_assets/img/flectra_after_menu.png
|
||||||
:class: shadow-0
|
:class: shadow-0
|
||||||
|
|
||||||
Create a specific page layout
|
Create a specific page layout
|
||||||
@ -389,9 +395,9 @@ default Flectra markup. Inside ``<flectra>`` create a ``<template>`` tag, set t
|
|||||||
<template name="Services page" id="website.services" page="True">
|
<template name="Services page" id="website.services" page="True">
|
||||||
<h1>Our Services</h1>
|
<h1>Our Services</h1>
|
||||||
<ul class="services">
|
<ul class="services">
|
||||||
<li>Cloud Hosting</li>
|
<li>Training</li>
|
||||||
<li>Support</li>
|
<li>Support</li>
|
||||||
<li>Unlimited space</li>
|
<li>Development</li>
|
||||||
</ul>
|
</ul>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -412,9 +418,9 @@ html code into a ``<t>`` tag, like in this example.
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>Our Services</h1>
|
<h1>Our Services</h1>
|
||||||
<ul class="services">
|
<ul class="services">
|
||||||
<li>Cloud Hosting</li>
|
<li>Training</li>
|
||||||
<li>Support</li>
|
<li>Support</li>
|
||||||
<li>Unlimited space</li>
|
<li>Development</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -442,9 +448,9 @@ can fill with snippets. To achieve this, just create a ``div`` with
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>Our Services</h1>
|
<h1>Our Services</h1>
|
||||||
<ul class="services">
|
<ul class="services">
|
||||||
<li>Cloud Hosting</li>
|
<li>Training</li>
|
||||||
<li>Support</li>
|
<li>Support</li>
|
||||||
<li>Unlimited space</li>
|
<li>Development</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- === Snippets' area === -->
|
<!-- === Snippets' area === -->
|
||||||
<div class="oe_structure" />
|
<div class="oe_structure" />
|
||||||
@ -477,7 +483,7 @@ Great, our Services page is ready and you’ll be able to access it by navigatin
|
|||||||
You will notice that it's possible to drag/drop snippets underneath the
|
You will notice that it's possible to drag/drop snippets underneath the
|
||||||
*Our Services* list.
|
*Our Services* list.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/services_page_nostyle.png
|
.. image:: theme_tutorial_assets/img/flectra_services_page_nostyle.png.png
|
||||||
:class: shadow-0
|
:class: shadow-0
|
||||||
|
|
||||||
Now let's go back to our *pages.xml* and, after our page template,
|
Now let's go back to our *pages.xml* and, after our page template,
|
||||||
@ -494,7 +500,7 @@ copy/paste the following code.
|
|||||||
|
|
||||||
This code will add a link to the main menu.
|
This code will add a link to the main menu.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/services_page_menu.png
|
.. image:: theme_tutorial_assets/img/flectra_services_page_menu.png
|
||||||
:class: shadow-0
|
:class: shadow-0
|
||||||
|
|
||||||
The **sequence** attribute defines the link’s position in the top menu.
|
The **sequence** attribute defines the link’s position in the top menu.
|
||||||
@ -575,7 +581,7 @@ Update your theme
|
|||||||
|
|
||||||
Our less file is now included in our theme, it will be automatically compiled, minified and combined with all Flectra’s assets.
|
Our less file is now included in our theme, it will be automatically compiled, minified and combined with all Flectra’s assets.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/services_page_styled.png
|
.. image:: theme_tutorial_assets/img/flectra_services_page_styled.png
|
||||||
:class: shadow-0
|
:class: shadow-0
|
||||||
|
|
||||||
Create Snippets
|
Create Snippets
|
||||||
@ -848,7 +854,7 @@ Let’s test our new javascript function. Enter in Edit mode and drop into the p
|
|||||||
You should now see the javascript alert that we bound on the ``onFocus`` event.
|
You should now see the javascript alert that we bound on the ``onFocus`` event.
|
||||||
If you close it, then click outside of your snippet and then click in it again, the event will trigger again.
|
If you close it, then click outside of your snippet and then click in it again, the event will trigger again.
|
||||||
|
|
||||||
.. image:: theme_tutorial_assets/img/snippet_custom_method.png
|
.. image:: theme_tutorial_assets/img/flectra_snippet_custom_method.png
|
||||||
:class: shadow-0
|
:class: shadow-0
|
||||||
|
|
||||||
|
|
||||||
|
@ -114,13 +114,9 @@ The files in the ``static`` folder, need to be defined within the module in orde
|
|||||||
individual files disappear and the code is made significantly less
|
individual files disappear and the code is made significantly less
|
||||||
readable. It is possible to disable this process by enabling the
|
readable. It is possible to disable this process by enabling the
|
||||||
"developer mode": log into your Flectra instance (user *admin* password
|
"developer mode": log into your Flectra instance (user *admin* password
|
||||||
*admin* by default) open the user menu (in the top-right corner of the
|
*admin* by default) open the settings menu and select :guilabel:`Activate
|
||||||
Flectra screen) and select :guilabel:`About Flectra` then :guilabel:`Activate
|
|
||||||
the developer mode`:
|
the developer mode`:
|
||||||
|
|
||||||
.. image:: web/about_flectra.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. image:: web/devmode.png
|
.. image:: web/devmode.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ The files in the ``static`` folder, need to be defined within the module in orde
|
|||||||
.. todo:: qweb files hooked via __manifest__.py, but js and CSS use bundles
|
.. todo:: qweb files hooked via __manifest__.py, but js and CSS use bundles
|
||||||
|
|
||||||
Flectra JavaScript Module
|
Flectra JavaScript Module
|
||||||
======================
|
=========================
|
||||||
|
|
||||||
Javascript doesn't have built-in modules. As a result variables defined in
|
Javascript doesn't have built-in modules. As a result variables defined in
|
||||||
different files are all mashed together and may conflict. This has given rise
|
different files are all mashed together and may conflict. This has given rise
|
||||||
@ -903,10 +899,6 @@ Exercise
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.. image:: web/qweb.*
|
|
||||||
:align: center
|
|
||||||
:width: 70%
|
|
||||||
|
|
||||||
Widget Helpers
|
Widget Helpers
|
||||||
==============
|
==============
|
||||||
|
|
||||||
@ -1264,7 +1256,7 @@ initialized, for class attributes for instance (as modules are loaded before
|
|||||||
the user's language is configured and translations are downloaded).
|
the user's language is configured and translations are downloaded).
|
||||||
|
|
||||||
Communication with the Flectra Server
|
Communication with the Flectra Server
|
||||||
==================================
|
=====================================
|
||||||
|
|
||||||
Contacting Models
|
Contacting Models
|
||||||
-----------------
|
-----------------
|
||||||
@ -2320,4 +2312,4 @@ the most useful being:
|
|||||||
.. _PostgreSQL: http://en.wikipedia.org/wiki/PostgreSQL
|
.. _PostgreSQL: http://en.wikipedia.org/wiki/PostgreSQL
|
||||||
.. _positional arguments:
|
.. _positional arguments:
|
||||||
.. _keyword arguments:
|
.. _keyword arguments:
|
||||||
https://docs.python.org/2/glossary.html#term-argument
|
https://docs.python.org/3/glossary.html#term-argument
|
||||||
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 33 KiB |
@ -9,7 +9,7 @@ Building a Website
|
|||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
* This guide assumes `basic knowledge of Python
|
* This guide assumes `basic knowledge of Python
|
||||||
<http://docs.python.org/2/tutorial/>`_
|
<http://docs.python.org/3/tutorial/>`_
|
||||||
* This guide assumes :ref:`an installed Flectra <setup/install>`
|
* This guide assumes :ref:`an installed Flectra <setup/install>`
|
||||||
|
|
||||||
Creating a basic module
|
Creating a basic module
|
||||||
@ -48,7 +48,7 @@ Although it does absolutely nothing we can install it:
|
|||||||
|
|
||||||
$ ./flectra-bin --addons-path addons,my-modules
|
$ ./flectra-bin --addons-path addons,my-modules
|
||||||
|
|
||||||
* go to http://localhost:8069
|
* go to http://localhost:7073
|
||||||
* create a new database including demonstration data
|
* create a new database including demonstration data
|
||||||
* to go :menuselection:`Settings --> Modules --> Modules`
|
* to go :menuselection:`Settings --> Modules --> Modules`
|
||||||
* in the top-right corner remove the *Installed* filter and search for
|
* in the top-right corner remove the *Installed* filter and search for
|
||||||
@ -72,7 +72,7 @@ Shut down your server (:kbd:`^C`) then restart it:
|
|||||||
|
|
||||||
$ ./flectra-bin --addons-path addons,my-modules
|
$ ./flectra-bin --addons-path addons,my-modules
|
||||||
|
|
||||||
and open a page to http://localhost:8069/academy/academy/, you should see your
|
and open a page to http://localhost:7073/academy/academy/, you should see your
|
||||||
"page" appear:
|
"page" appear:
|
||||||
|
|
||||||
.. figure:: website/helloworld.png
|
.. figure:: website/helloworld.png
|
||||||
@ -108,12 +108,12 @@ Academy` and clicking :guilabel:`Upgrade`.
|
|||||||
|
|
||||||
$ flectra-bin --addons-path addons,my-modules -d academy -u academy
|
$ flectra-bin --addons-path addons,my-modules -d academy -u academy
|
||||||
|
|
||||||
Going to http://localhost:8069/academy/academy/ should now result in:
|
Going to http://localhost:7073/academy/academy/ should now result in:
|
||||||
|
|
||||||
.. image:: website/basic-list.png
|
.. image:: website/flectra_basic-list.png
|
||||||
|
|
||||||
Storing data in Flectra
|
Storing data in Flectra
|
||||||
====================
|
=======================
|
||||||
|
|
||||||
:ref:`Flectra models <reference/orm/model>` map to database tables.
|
:ref:`Flectra models <reference/orm/model>` map to database tables.
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ The last step is to alter model and template to use our demonstration data:
|
|||||||
|
|
||||||
Restart the server and update the module (in order to update the manifest
|
Restart the server and update the module (in order to update the manifest
|
||||||
and templates and load the demo file) then navigate to
|
and templates and load the demo file) then navigate to
|
||||||
http://localhost:8069/academy/academy/. The page should look slightly
|
http://localhost:7073/academy/academy/. The page should look slightly
|
||||||
different: names should simply be prefixed by a number (the database
|
different: names should simply be prefixed by a number (the database
|
||||||
identifier for the teacher).
|
identifier for the teacher).
|
||||||
|
|
||||||
@ -204,11 +204,11 @@ integration and a few other services (e.g. default styling, theming) via the
|
|||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
After restarting the server while updating the module (in order to update the
|
After restarting the server while updating the module (in order to update the
|
||||||
manifest and template) access http://localhost:8069/academy/academy/ should
|
manifest and template) access http://localhost:7073/academy/academy/ should
|
||||||
yield a nicer looking page with branding and a number of built-in page
|
yield a nicer looking page with branding and a number of built-in page
|
||||||
elements (top-level menu, footer, …)
|
elements (top-level menu, footer, …)
|
||||||
|
|
||||||
.. image:: website/layout.png
|
.. image:: website/flectra_layout.png
|
||||||
|
|
||||||
The website layout also provides support for edition tools: click
|
The website layout also provides support for edition tools: click
|
||||||
:guilabel:`Sign In` (in the top-right), fill the credentials in (``admin`` /
|
:guilabel:`Sign In` (in the top-right), fill the credentials in (``admin`` /
|
||||||
@ -241,8 +241,8 @@ create a new controller method which takes a bit of URL and prints it out:
|
|||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
restart Flectra, access http://localhost:8069/academy/Alice/ and
|
restart Flectra, access http://localhost:7073/academy/Alice/ and
|
||||||
http://localhost:8069/academy/Bob/ and see the difference.
|
http://localhost:7073/academy/Bob/ and see the difference.
|
||||||
|
|
||||||
As the name indicates, `converter patterns`_ don't just do extraction, they
|
As the name indicates, `converter patterns`_ don't just do extraction, they
|
||||||
also do *validation* and *conversion*, so we can change the new controller
|
also do *validation* and *conversion*, so we can change the new controller
|
||||||
@ -250,9 +250,9 @@ to only accept integers:
|
|||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
Restart Flectra, access http://localhost:8069/academy/2, note how the old value
|
Restart Flectra, access http://localhost:7073/academy/2, note how the old value
|
||||||
was a string, but the new one was converted to an integers. Try accessing
|
was a string, but the new one was converted to an integers. Try accessing
|
||||||
http://localhost:8069/academy/Carol/ and note that the page was not found:
|
http://localhost:7073/academy/Carol/ and note that the page was not found:
|
||||||
since "Carol" is not an integer, the route was ignored and no route could be
|
since "Carol" is not an integer, the route was ignored and no route could be
|
||||||
found.
|
found.
|
||||||
|
|
||||||
@ -319,7 +319,7 @@ Administration and ERP integration
|
|||||||
==================================
|
==================================
|
||||||
|
|
||||||
A brief and incomplete introduction to the Flectra administration
|
A brief and incomplete introduction to the Flectra administration
|
||||||
--------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
The Flectra administration was briefly seen during the `website support`_ section.
|
The Flectra administration was briefly seen during the `website support`_ section.
|
||||||
We can go back to it using :menuselection:`Administrator --> Administrator` in
|
We can go back to it using :menuselection:`Administrator --> Administrator` in
|
||||||
@ -337,7 +337,7 @@ The conceptual structure of the Flectra backend is simple:
|
|||||||
model is displayed inside the view.
|
model is displayed inside the view.
|
||||||
|
|
||||||
Editing in the Flectra administration
|
Editing in the Flectra administration
|
||||||
----------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
By default, an Flectra model is essentially invisible to a user. To make it
|
By default, an Flectra model is essentially invisible to a user. To make it
|
||||||
visible it must be available through an action, which itself needs to be
|
visible it must be available through an action, which itself needs to be
|
||||||
@ -347,7 +347,7 @@ Let's create a menu for our model:
|
|||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
then accessing http://localhost:8069/web/ in the top left should be a menu
|
then accessing http://localhost:7073/web/ in the top left should be a menu
|
||||||
:guilabel:`Academy`, which is selected by default, as it is the first menu,
|
:guilabel:`Academy`, which is selected by default, as it is the first menu,
|
||||||
and having opened a listing of teachers. From the listing it is possible to
|
and having opened a listing of teachers. From the listing it is possible to
|
||||||
:guilabel:`Create` new teacher records, and to switch to the "form" by-record
|
:guilabel:`Create` new teacher records, and to switch to the "form" by-record
|
||||||
|
@ -7,7 +7,7 @@ diff --git a/academy/controllers.py b/academy/controllers.py
|
|||||||
+++ b/academy/controllers.py
|
+++ b/academy/controllers.py
|
||||||
@@ -1,10 +1,10 @@
|
@@ -1,10 +1,10 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from odoo import http
|
from flectra import http
|
||||||
|
|
||||||
-# class Academy(http.Controller):
|
-# class Academy(http.Controller):
|
||||||
-# @http.route('/academy/academy/', auth='public')
|
-# @http.route('/academy/academy/', auth='public')
|
||||||
|
@ -7,7 +7,7 @@ diff --git a/academy/models.py b/academy/models.py
|
|||||||
+++ b/academy/models.py
|
+++ b/academy/models.py
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from odoo import models, fields, api
|
from flectra import models, fields, api
|
||||||
|
|
||||||
-# class academy(models.Model):
|
-# class academy(models.Model):
|
||||||
-# _name = 'academy.academy'
|
-# _name = 'academy.academy'
|
||||||
|
@ -18,12 +18,12 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/academy/data.xml
|
+++ b/academy/data.xml
|
||||||
@@ -0,0 +1,6 @@
|
@@ -0,0 +1,6 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+ <record model="product.public.category" id="category_courses">
|
+ <record model="product.public.category" id="category_courses">
|
||||||
+ <field name="name">Courses</field>
|
+ <field name="name">Courses</field>
|
||||||
+ <field name="parent_id" ref="website_sale.categ_others"/>
|
+ <field name="parent_id" ref="website_sale.categ_others"/>
|
||||||
+ </record>
|
+ </record>
|
||||||
+</odoo>
|
+</flectra>
|
||||||
diff --git a/academy/demo.xml b/academy/demo.xml
|
diff --git a/academy/demo.xml b/academy/demo.xml
|
||||||
--- a/academy/demo.xml
|
--- a/academy/demo.xml
|
||||||
+++ b/academy/demo.xml
|
+++ b/academy/demo.xml
|
||||||
@ -56,7 +56,7 @@ diff --git a/academy/demo.xml b/academy/demo.xml
|
|||||||
+ <field name="type">service</field>
|
+ <field name="type">service</field>
|
||||||
+ </record>
|
+ </record>
|
||||||
+
|
+
|
||||||
</odoo>
|
</flectra>
|
||||||
diff --git a/academy/models.py b/academy/models.py
|
diff --git a/academy/models.py b/academy/models.py
|
||||||
--- a/academy/models.py
|
--- a/academy/models.py
|
||||||
+++ b/academy/models.py
|
+++ b/academy/models.py
|
||||||
|
@ -6,7 +6,7 @@ diff --git a/academy/demo.xml b/academy/demo.xml
|
|||||||
--- a/academy/demo.xml
|
--- a/academy/demo.xml
|
||||||
+++ b/academy/demo.xml
|
+++ b/academy/demo.xml
|
||||||
@@ -1,25 +1,13 @@
|
@@ -1,25 +1,13 @@
|
||||||
<odoo>
|
<flectra>
|
||||||
|
|
||||||
- <!-- -->
|
- <!-- -->
|
||||||
- <!-- <record id="object0" model="academy.academy"> -->
|
- <!-- <record id="object0" model="academy.academy"> -->
|
||||||
@ -39,4 +39,4 @@ diff --git a/academy/demo.xml b/academy/demo.xml
|
|||||||
+ <field name="name">Lester Vaughn</field>
|
+ <field name="name">Lester Vaughn</field>
|
||||||
+ </record>
|
+ </record>
|
||||||
|
|
||||||
</odoo>
|
</flectra>
|
||||||
|
BIN
doc/howtos/website/flectra_basic-list.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
doc/howtos/website/flectra_layout.png
Normal file
After Width: | Height: | Size: 16 KiB |
@ -55,7 +55,7 @@ new file mode 100644
|
|||||||
+++ b/academy/controllers.py
|
+++ b/academy/controllers.py
|
||||||
@@ -0,0 +1,20 @@
|
@@ -0,0 +1,20 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+from odoo import http
|
+from flectra import http
|
||||||
+
|
+
|
||||||
+# class Academy(http.Controller):
|
+# class Academy(http.Controller):
|
||||||
+# @http.route('/academy/academy/', auth='public')
|
+# @http.route('/academy/academy/', auth='public')
|
||||||
@ -79,7 +79,7 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/academy/demo.xml
|
+++ b/academy/demo.xml
|
||||||
@@ -0,0 +1,25 @@
|
@@ -0,0 +1,25 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <!-- -->
|
+ <!-- -->
|
||||||
+ <!-- <record id="object0" model="academy.academy"> -->
|
+ <!-- <record id="object0" model="academy.academy"> -->
|
||||||
@ -103,7 +103,7 @@ new file mode 100644
|
|||||||
+ <!-- </record> -->
|
+ <!-- </record> -->
|
||||||
+ <!-- -->
|
+ <!-- -->
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
diff --git a/academy/models.py b/academy/models.py
|
diff --git a/academy/models.py b/academy/models.py
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -111,7 +111,7 @@ new file mode 100644
|
|||||||
@@ -0,0 +1,8 @@
|
@@ -0,0 +1,8 @@
|
||||||
+# -*- coding: utf-8 -*-
|
+# -*- coding: utf-8 -*-
|
||||||
+
|
+
|
||||||
+from odoo import models, fields, api
|
+from flectra import models, fields, api
|
||||||
+
|
+
|
||||||
+# class academy(models.Model):
|
+# class academy(models.Model):
|
||||||
+# _name = 'academy.academy'
|
+# _name = 'academy.academy'
|
||||||
@ -129,7 +129,7 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/academy/templates.xml
|
+++ b/academy/templates.xml
|
||||||
@@ -0,0 +1,22 @@
|
@@ -0,0 +1,22 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <!-- <template id="listing"> -->
|
+ <!-- <template id="listing"> -->
|
||||||
+ <!-- <ul> -->
|
+ <!-- <ul> -->
|
||||||
@ -150,4 +150,4 @@ new file mode 100644
|
|||||||
+ <!-- </dl> -->
|
+ <!-- </dl> -->
|
||||||
+ <!-- </template> -->
|
+ <!-- </template> -->
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -18,7 +18,7 @@ new file mode 100644
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/academy/views.xml
|
+++ b/academy/views.xml
|
||||||
@@ -0,0 +1,13 @@
|
@@ -0,0 +1,13 @@
|
||||||
+<odoo>
|
+<flectra>
|
||||||
+
|
+
|
||||||
+ <record id="action_academy_teachers" model="ir.actions.act_window">
|
+ <record id="action_academy_teachers" model="ir.actions.act_window">
|
||||||
+ <field name="name">Academy teachers</field>
|
+ <field name="name">Academy teachers</field>
|
||||||
@ -32,4 +32,4 @@ new file mode 100644
|
|||||||
+ parent="menu_academy_content"
|
+ parent="menu_academy_content"
|
||||||
+ action="action_academy_teachers"/>
|
+ action="action_academy_teachers"/>
|
||||||
+
|
+
|
||||||
+</odoo>
|
+</flectra>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||||
--- a/academy/controllers.py
|
--- a/academy/controllers.py
|
||||||
+++ b/academy/controllers.py
|
+++ b/academy/controllers.py
|
||||||
@@ -4,7 +4,9 @@ from odoo import http
|
@@ -4,7 +4,9 @@ from flectra import http
|
||||||
class Academy(http.Controller):
|
class Academy(http.Controller):
|
||||||
@http.route('/academy/academy/', auth='public')
|
@http.route('/academy/academy/', auth='public')
|
||||||
def index(self, **kw):
|
def index(self, **kw):
|
||||||
@ -20,7 +20,7 @@ diff --git a/academy/templates.xml b/academy/templates.xml
|
|||||||
--- a/academy/templates.xml
|
--- a/academy/templates.xml
|
||||||
+++ b/academy/templates.xml
|
+++ b/academy/templates.xml
|
||||||
@@ -1,14 +1,11 @@
|
@@ -1,14 +1,11 @@
|
||||||
<odoo>
|
<flectra>
|
||||||
|
|
||||||
- <!-- <template id="listing"> -->
|
- <!-- <template id="listing"> -->
|
||||||
- <!-- <ul> -->
|
- <!-- <ul> -->
|
||||||
|
@ -18,7 +18,7 @@ diff --git a/academy/controllers.py b/academy/controllers.py
|
|||||||
--- a/academy/controllers.py
|
--- a/academy/controllers.py
|
||||||
+++ b/academy/controllers.py
|
+++ b/academy/controllers.py
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
from odoo import http
|
from flectra import http
|
||||||
|
|
||||||
class Academy(http.Controller):
|
class Academy(http.Controller):
|
||||||
- @http.route('/academy/academy/', auth='public')
|
- @http.route('/academy/academy/', auth='public')
|
||||||
@ -30,7 +30,7 @@ diff --git a/academy/templates.xml b/academy/templates.xml
|
|||||||
--- a/academy/templates.xml
|
--- a/academy/templates.xml
|
||||||
+++ b/academy/templates.xml
|
+++ b/academy/templates.xml
|
||||||
@@ -1,9 +1,15 @@
|
@@ -1,9 +1,15 @@
|
||||||
<odoo>
|
<flectra>
|
||||||
|
|
||||||
<template id="index">
|
<template id="index">
|
||||||
- <title>Academy</title>
|
- <title>Academy</title>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
Python 3 compatibility/conversions
|
Python 3 compatibility/conversions
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
Official compatibility: Flectra 11 will be the first LTS release to introduce
|
Official compatibility: Flectra 1.0 will be the first LTS release to introduce
|
||||||
Python 3 compatibility, starting with Python 3.5. It will also be the first
|
Python 3 compatibility, starting with Python 3.5. It will also be the first
|
||||||
LTS release to drop official support for Python 2.
|
LTS release to drop official support for Python 2.
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ used by the official Flectra distribution have been ported and are considered
|
|||||||
stable. Most supported platforms have a Python 3.5 package, or a similar
|
stable. Most supported platforms have a Python 3.5 package, or a similar
|
||||||
way to deploy it. Preserving dual compatibility is therefore considered
|
way to deploy it. Preserving dual compatibility is therefore considered
|
||||||
unnecessary, and would represent a significant overhead in testing for the
|
unnecessary, and would represent a significant overhead in testing for the
|
||||||
lifetime of Flectra 11.
|
lifetime of Flectra 1.0.
|
||||||
|
|
||||||
Python 2 and Python 3 are somewhat different language, but following
|
Python 2 and Python 3 are somewhat different language, but following
|
||||||
backports, forward ports and cross-compatibility library it is possible to
|
backports, forward ports and cross-compatibility library it is possible to
|
||||||
@ -35,7 +35,7 @@ References/useful documents:
|
|||||||
|
|
||||||
* `What's new in Python 3? <https://docs.python.org/3.0/whatsnew/3.0.html>`_
|
* `What's new in Python 3? <https://docs.python.org/3.0/whatsnew/3.0.html>`_
|
||||||
covers many of the changes between Python 2 and Python 3, though it is
|
covers many of the changes between Python 2 and Python 3, though it is
|
||||||
missing a number of changes which `were backported to Python 2.7 <https://docs.python.org/2.7/whatsnew/2.7.html#python-3-1-features>`_
|
missing a number of changes which `were backported to Python 2.7 <https://docs.python.org/3/whatsnew/2.7.html#python-3-1-features>`_
|
||||||
as well as :ref:`some feature reintroductions <p3support>` of later Python 3
|
as well as :ref:`some feature reintroductions <p3support>` of later Python 3
|
||||||
revisions
|
revisions
|
||||||
* `How do I port to Python 3? <https://eev.ee/blog/2016/07/31/python-faq-how-do-i-port-to-python-3/>`_
|
* `How do I port to Python 3? <https://eev.ee/blog/2016/07/31/python-faq-how-do-i-port-to-python-3/>`_
|
||||||
|
@ -23,4 +23,3 @@ Reference
|
|||||||
reference/reports
|
reference/reports
|
||||||
reference/mixins
|
reference/mixins
|
||||||
reference/guidelines
|
reference/guidelines
|
||||||
reference/mobile
|
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
.. _reference/cmdline:
|
.. _reference/cmdline:
|
||||||
|
|
||||||
================================
|
===================================
|
||||||
Command-line interface: flectra-bin
|
Command-line interface: flectra-bin
|
||||||
================================
|
===================================
|
||||||
|
|
||||||
.. _reference/cmdline/server:
|
.. _reference/cmdline/server:
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ built-in HTTP
|
|||||||
|
|
||||||
.. option:: --http-port <port>
|
.. option:: --http-port <port>
|
||||||
|
|
||||||
Port on which the HTTP server listens, defaults to 8069.
|
Port on which the HTTP server listens, defaults to 7073.
|
||||||
|
|
||||||
.. option:: --longpolling-port <port>
|
.. option:: --longpolling-port <port>
|
||||||
|
|
||||||
@ -211,19 +211,19 @@ customize the amount of logging output
|
|||||||
|
|
||||||
sends logging output to the specified file instead of stdout. On Unix, the
|
sends logging output to the specified file instead of stdout. On Unix, the
|
||||||
file `can be managed by external log rotation programs
|
file `can be managed by external log rotation programs
|
||||||
<https://docs.python.org/2/library/logging.handlers.html#watchedfilehandler>`_
|
<https://docs.python.org/3/library/logging.handlers.html#watchedfilehandler>`_
|
||||||
and will automatically be reopened when replaced
|
and will automatically be reopened when replaced
|
||||||
|
|
||||||
.. option:: --logrotate
|
.. option:: --logrotate
|
||||||
|
|
||||||
enables `log rotation <https://docs.python.org/2/library/logging.handlers.html#timedrotatingfilehandler>`_
|
enables `log rotation <https://docs.python.org/3/library/logging.handlers.html#timedrotatingfilehandler>`_
|
||||||
daily, keeping 30 backups. Log rotation frequency and number of backups is
|
daily, keeping 30 backups. Log rotation frequency and number of backups is
|
||||||
not configurable.
|
not configurable.
|
||||||
|
|
||||||
.. option:: --syslog
|
.. option:: --syslog
|
||||||
|
|
||||||
logs to the system's event logger: `syslog on unices <https://docs.python.org/2/library/logging.handlers.html#sysloghandler>`_
|
logs to the system's event logger: `syslog on unices <https://docs.python.org/3/library/logging.handlers.html#sysloghandler>`_
|
||||||
and `the Event Log on Windows <https://docs.python.org/2/library/logging.handlers.html#nteventloghandler>`_.
|
and `the Event Log on Windows <https://docs.python.org/3/library/logging.handlers.html#nteventloghandler>`_.
|
||||||
|
|
||||||
Neither is configurable
|
Neither is configurable
|
||||||
|
|
||||||
@ -390,13 +390,13 @@ can be overridden using :option:`--config <flectra-bin -c>`. Specifying
|
|||||||
to that file.
|
to that file.
|
||||||
|
|
||||||
.. _jinja2: http://jinja.pocoo.org
|
.. _jinja2: http://jinja.pocoo.org
|
||||||
.. _regular expression: https://docs.python.org/2/library/re.html
|
.. _regular expression: https://docs.python.org/3/library/re.html
|
||||||
.. _password authentication:
|
.. _password authentication:
|
||||||
http://www.postgresql.org/docs/9.3/static/auth-methods.html#AUTH-PASSWORD
|
http://www.postgresql.org/docs/9.3/static/auth-methods.html#AUTH-PASSWORD
|
||||||
.. _template database:
|
.. _template database:
|
||||||
http://www.postgresql.org/docs/9.3/static/manage-ag-templatedbs.html
|
http://www.postgresql.org/docs/9.3/static/manage-ag-templatedbs.html
|
||||||
.. _level:
|
.. _level:
|
||||||
https://docs.python.org/2/library/logging.html#logging.Logger.setLevel
|
https://docs.python.org/3/library/logging.html#logging.Logger.setLevel
|
||||||
.. _a PostgreSQL URI:
|
.. _a PostgreSQL URI:
|
||||||
http://www.postgresql.org/docs/9.2/static/libpq-connect.html#AEN38208
|
http://www.postgresql.org/docs/9.2/static/libpq-connect.html#AEN38208
|
||||||
.. _Werkzeug's proxy support:
|
.. _Werkzeug's proxy support:
|
||||||
|
BIN
doc/reference/forms/flectra_account_line.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
doc/reference/forms/flectra_wizard_popup.png
Normal file
After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 12 KiB |
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
.. highlight:: python
|
.. highlight:: python
|
||||||
|
|
||||||
===============
|
==================
|
||||||
Flectra Guidelines
|
Flectra Guidelines
|
||||||
===============
|
==================
|
||||||
|
|
||||||
This page introduces the new Flectra Coding Guidelines. Those aim to improve the quality of the code (e.g. better readability of source) and Flectra Apps. Indeed, proper code eases maintenance, aids debugging, lowers complexity and promotes reliability.
|
This page introduces the new Flectra Coding Guidelines. Those aim to improve the quality of the code (e.g. better readability of source) and Flectra Apps. Indeed, proper code eases maintenance, aids debugging, lowers complexity and promotes reliability.
|
||||||
|
|
||||||
@ -479,7 +479,7 @@ So, you can write ``if some_collection:`` instead of ``if len(some_collection):`
|
|||||||
(a little bit outdated, but quite relevant)
|
(a little bit outdated, but quite relevant)
|
||||||
|
|
||||||
Programming in Flectra
|
Programming in Flectra
|
||||||
-------------------
|
----------------------
|
||||||
|
|
||||||
- Avoid to create generators and decorators: only use the ones provided by
|
- Avoid to create generators and decorators: only use the ones provided by
|
||||||
the Flectra API.
|
the Flectra API.
|
||||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |