website layout, contactus, homepage

bzr revid: al@openerp.com-20130701002054-wggvlsjfxjcza3o6
This commit is contained in:
Antony Lesuisse 2013-07-01 02:20:54 +02:00
parent f585a2d457
commit 6b38eac5d9
8 changed files with 291 additions and 299 deletions

View File

@ -1204,6 +1204,7 @@
<record id="view_move_line_tree_reconcile" model="ir.ui.view">
<field name="model">account.move.line</field>
<field eval="24" name="priority"/>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree_account_reconciliation colors="red:state == 'draft';black:state == 'valid'" string="Journal Items to Reconcile" create="false" version="7.0">
<field name="date"/>

View File

@ -2,6 +2,23 @@
<openerp>
<data>
<!-- Layout add nav and footer -->
<record id="layout_ecommerce" model="ir.ui.view">
<field name="name">layout_ecommerce</field>
<field name="inherit_id" ref="website.layout"/>
<field name="arch" type="xml">
<data>
<xpath expr="(//header//li)[last()]" position="after">
<li class="pull-right"><a href="/shop/">Shop</a></li>
</xpath>
<xpath expr="//footer/div/div/div[3]" position="inside">
SHOP Footer
</xpath>
</data>
</field>
</record>
<!-- Product container -->
<record id="product_container" model="ir.ui.view">
@ -69,6 +86,7 @@
<field name="name">ecommerce_categories</field>
<field name="type">form</field>
<field name="arch" type="xml">
<html>
<div class='oe_span3 oe_left oe_categories'>
<h4>Product categories</h4>
@ -93,4 +111,4 @@
</record>
</data>
</openerp>
</openerp>

View File

@ -11,7 +11,7 @@ OpenERP Website CMS
'depends': ['base'],
'installable': True,
'data': [
'views/test.xml'
'views/views.xml'
],
'js': ['static/src/js/website.js'],
'css': ['static/src/css/website.css'],

View File

@ -1,61 +1,14 @@
# -*- coding: utf-8 -*-
from jinja2 import Template # WIP !
import openerp
from openerp.addons.web import http
from openerp.addons.web.controllers.main import manifest_list
from openerp.addons.web.http import request
def get_html_head():
head = ['<script type="text/javascript" src="%s"></script>' % i for i in manifest_list('js', db=request.db)]
head += ['<link rel="stylesheet" href="%s">' % i for i in manifest_list('css', db=request.db)]
head += ['<script type="text/javascript" src="/website/static/src/js/website_bootstrap.js"></script>']
return "\n ".join(head)
# WIIIP !!
module_template = Template("""
{%- for module in modules %}
<a href='#' title='{{ module.shortdesc }}' class='oe_app ab_app_descr'>
<div class='ab_app_descr'>
<div class='oe_app_icon'>
<img src="data:image/png;base64,{{ module.icon_image }}" onerror="this.src = '/base/static/src/img/icon.png'">
</div>
</div>
<div
class='oe_app_name oe_editable'
data-model='ir.module.module'
data-id='{{ module.id }}'
data-field='shortdesc'
>{{ module.shortdesc }}</div>
<div
class='oe_app_descr oe_editable'
data-model='ir.module.module'
data-id='{{ module.id }}'
data-field='summary'
>{{ module.summary }}</div>
</a>
{%- endfor %}
""")
class Website(openerp.addons.web.controllers.main.Home):
@http.route('/', type='http', auth="db")
def index(self, **kw):
editable = bool(request.session._uid)
try:
request.session.check_security()
except http.SessionExpiredException:
editable = False
# WIIIIIIIP !!!
html = open(openerp.addons.get_module_resource('website', 'views', 'homepage.html'), 'rb').read().decode('utf8')
modules = request.registry.get("ir.module.module").search_read(request.cr, openerp.SUPERUSER_ID, fields=['id', 'shortdesc', 'summary', 'icon_image'], limit=50)
modules_html = module_template.render(modules=modules)
html = html.replace(u'<!--modules-->', modules_html)
if editable:
html = html.replace('<!--editable-->', get_html_head())
return html
return self.page("website.homepage")
@http.route('/admin', type='http', auth="none")
def admin(self, *args, **kw):
@ -63,17 +16,30 @@ class Website(openerp.addons.web.controllers.main.Home):
@http.route('/page/<path:path>', type='http', auth="db")
def page(self, path):
editable = bool(request.session._uid)
uid = request.session._uid or openerp.SUPERUSER_ID
#def get_html_head():
# head = ['<script type="text/javascript" src="%s"></script>' % i for i in manifest_list('js', db=request.db)]
# head += ['<link rel="stylesheet" href="%s">' % i for i in manifest_list('css', db=request.db)]
# head += ['<script type="text/javascript" src="/website/static/src/js/website_bootstrap.js"></script>']
#modules = request.registry.get("ir.module.module").search_read(request.cr, openerp.SUPERUSER_ID, fields=['id', 'shortdesc', 'summary', 'icon_image'], limit=50)
try:
request.session.check_security()
editable = True
uid = request.session._uid
except http.SessionExpiredException:
editable = False
uid = openerp.SUPERUSER_ID
html = request.registry.get("ir.ui.view").render(request.cr, uid, path, {})
if editable:
html = html.replace('<!--editable-->', get_html_head())
context = {
'inherit_branding': editable
}
values = {
'editable': editable,
'request': request,
'registry': request.registry,
'cr': request.cr,
'uid': uid,
'res_company': request.registry['res.company'].browse(request.cr, uid, 1, context=context),
}
html = request.registry.get("ir.ui.view").render(request.cr, uid, path, values, context)
return html
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,24 +1,100 @@
/* vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:fdl=0
*/
@charset "utf-8";
.oe_website_editorbar {
position: fixed;
top: 0;
right: 0;
z-index: 10;
display: block;
width: 100%;
padding: 10px;
margin: 0px;
background: #e9e9e9;
box-sizing: border-box;
.oe_website {
background: #e9e9e9;
color: #646464;
}
.oe_website_header {
background: #fff;
color: #333;
padding-top: 8px;
}
/* Body {{{ */
.oe_website_body {
background: #fff;
color: #333;
padding-bottom: 32px;
padding-top: 32px;
}
/* }}} */
/* Footer {{{ */
.oe_website_footer {
border-top: solid 1px #e0e0e0;
padding-bottom: 32px;
padding-top: 32px;
}
.oe_website_footer h5 {
border-bottom: solid 1px rgba(0, 0, 0, 0.06);
margin-right: 24px;
padding-bottom: 6px;
margin-bottom: 6px;
margin-top: 24px;
}
.oe_website_footer ul {
list-style: none;
padding: 0;
margin: 0;
}
.oe_website_footer ul li {
display: block;
margin-bottom: 4px;
font-size: 14px;
margin-right: 32px;
}
.oe_website_footer ul li a {
color: inherit;
text-decoration: inherit;
}
.oe_website_footer ul li a:visited {
color: inherit;
text-decoration: inherit;
}
.oe_website_footer ul li a:hover {
color: black;
text-decoration: inherit;
}
.oe_website_copy {
margin-top: 24px;
margin-bottom: 6px;
}
/* }}} */
/* Editor {{{ */
.oe_website_editorbar {
position: fixed;
top: 0;
right: 0;
z-index: 10;
display: block;
width: 100%;
padding: 10px;
margin: 0px;
background: #e9e9e9;
box-sizing: border-box;
}
.oe_website_editorbar li {
display: inline;
display: inline;
}
.oe_website_editor_container .oe_editable {
outline: 1px dotted green;
outline: 1px dotted green;
}
.oe_website_editor_container .oe_editable.oe_dirty {
outline: 1px dotted red;
outline: 1px dotted red;
}
/* }}} */

View File

@ -1,187 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>OpenERP - Beautiful Business Applications</title>
<script src='https://www.openerp.com/saas_master/static/site_new/js/lib/html5shiv.js'></script>
<script src="https://www.openerp.com/web/static/lib/jquery/jquery-1.8.3.js"></script>
<script src="//cdn.optimizely.com/js/238505250.js"></script>
<link href='https://www.openerp.com/saas_master/static/site_new/fonts/lato/stylesheet.css' rel='stylesheet' type='text/css'></link>
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,300,600,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://www.openerp.com/saas_master/static/site_new/css/normalize.css">
<link rel="stylesheet" href="https://www.openerp.com/saas_master/static/site_new/css/common.css">
<link rel="stylesheet" href="https://www.openerp.com/saas_master/static/site_new/css/website.css">
<link rel="stylesheet" href="https://www.openerp.com/saas_master/static/site_new/css/font-awesome.css">
<script src="https://www.openerp.com/web/static/lib/underscore/underscore.js"></script>
<script src="https://www.openerp.com/web/static/lib/underscore/underscore.string.js"></script>
<script src='https://www.openerp.com/saas_master/static/site_new/js/website.js'></script>
<!--editable-->
</head>
<body class="oe_styling_v8">
<div class='oe_website_contents'>
<header class='oe_website_header'>
<div class='oe_row oe_fit'>
<div class='oe_span3 oe_logo_menu'>
<a href='https://www.openerp.com/' class='ab_menu_logo'>
<img class='oe_logo_img' alt='OpenERP: Open Source Business Apps' src='https://www.openerp.com/saas_master/static/site_new/img/logo_oe_top_old_and_small.png'>
</a>
</div>
<ul class='oe_span9 oe_right oe_top_menu' id='top-menu'> <li class='oe_top_menu_entry'><a class='ab_menu_apps' href='https://www.openerp.com/apps'>Applications</a></li>
<li class='oe_top_menu_entry'><a class='ab_menu_partners' href='https://www.openerp.com/partners/directory'>Partners</a></li>
<li class='oe_top_menu_entry'><a class='ab_menu_training' href="https://www.openerp.com/events#view=training">Training</a></li>
<li class='oe_top_menu_entry'><a class='ab_menu_freetrial' href='https://www.openerp.com/start'>Free Trial</a></li>
<li class='oe_top_menu_entry'><a class='ab_menu_download' href='https://www.openerp.com/start?download'>Download</a></li>
<li class='oe_top_menu_entry'><a class='ab_menu_contact' href='https://www.openerp.com/contact'>Contact Us</a></li>
<li class='oe_top_menu_entry oe_sign_in '><a class='ab_menu_signin' href='https://accounts.openerp.com'>Sign In</a></li>
</ul>
</div>
</header>
<section class='oe_hero oe_home_hero oe_container'>
<div class='oe_slider'>
<div class='oe_slide oe_home_slide'>
<div class='oe_row'>
<div class='oe_slide_title oe_title_font'><span class='oe_open'>Open</span><span class='oe_erp'>ERP</span><span class='oe_version'>7.0</span></div>
<div class='oe_slide_subtitle'>
Beautiful Business Applications<br />
Powerful, Integrated, Open Source<br />
<a href='https://www.openerp.com/start' class='oe_button oe_medium oe_tacky ab_banner_freetrial'>Start your <span class='oe_emph'>free</span> trial <i class='icon-arrow-right'></i></a>
</div>
</div>
</div>
<div class='oe_slide oe_invisible oe_opendays_slide'>
<div class='oe_row'>
<div class='oe_titlebox'>
<div class='oe_title oe_title_font'>OpenDays</div>
<div class='oe_subtitle'>The Open Source event of the year</br>July 1-5, 2013</br><a class='oe_button ab_banner_events' href='http://opendays.openerp.com'>Agenda &amp; Registration</a></div>
</div>
</div>
</div>
</div>
<span class='oe_slider_arrow oe_left'><i class='icon-chevron-left'></i></span>
<span class='oe_slider_arrow oe_right'><i class='icon-chevron-right'></i></span>
</section>
<article class='oe_page'>
<section class='oe_container'>
<h4 class='oe_slogan'>Choose Your Application</h4>
<div class='oe_row oe_appstore'>
<!--modules-->
</div>
</section>
<footer class="oe_website_footer">
<article class="oe_row">
<section class="oe_span3">
<h1>About Us</h1>
<ul id='footer-about'>
<li><a href="https://www.openerp.com/events">Events</a></li>
<li><a href="https://www.openerp.com/news">News</a></li>
<li><a href="https://www.openerp.com/jobs">Jobs</a></li>
<li><a href="https://www.openerp.com/contact">Contact</a></li>
<li><a href="https://www.openerp.com/references/directory/">References</a></li>
<li class="oe_mt16"><a href="http://twitter.com/openerp"><i class="icon-twitter-sign"></i>Twitter</a></li>
<li><a href="http://www.facebook.com/OpenERP"><i class="icon-facebook-sign"></i>Facebook</a></li>
<li><a href="https://plus.google.com/+openerp/posts"><i class="icon-google-plus-sign"></i>Google+</a></li>
</ul>
</section>
<section class="oe_span3">
<h1>Developers</h1>
<ul id='footer-devs'>
<li><a href="https://www.openerp.com/start?download">Download</a></li>
<li><a href="https://launchpad.net/openobject">Launchpad</a></li>
<li><a href="http://runbot.openerp.com">Automated Tests</a></li>
<li class="oe_mt16"><a href="https://bugs.launchpad.net/openobject-addons">Report a Bug</a></li>
<li><a href="http://doc.openerp.com/v6.1/contribute/07_improving_translations.html">Help Translate</a></li>
</ul>
</section>
<section class="oe_span3">
<h1>Services</h1>
<ul id='footer-services'>
<li><a href="https://www.openerp.com/pricing">Pricing</a></li>
<li class="oe_mt16"><a href="https://www.openerp.com/partners/directory">Find a Partner</a></li>
<li><a href="https://www.openerp.com/partners">Become a Partner</a></li>
<li class="oe_mt16"><a href="https://www.openerp.com/events#view=training">Training</a></li>
</ul>
</section>
<section class="oe_span3">
<h1>Documentation</h1>
<ul id='footer-doc'>
<li><a href="http://help.openerp.com">Get Help</a></li>
<li><a href="https://doc.openerp.com/">Documentation</a></li>
<li class="oe_mt16"><a href="http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Dstripbooks&field-keywords=Openerp&rh=n%3A283155%2Ck%3AOpenerp">Paper Books</a></li>
<li><a href="https://www.openerp.com/ebooks">Free E-Books</a></li>
<li><a href="http://doc.openerp.com/memento/OpenERP_Technical_Memento_latest.pdf">Developer Memento</a></li>
<li><a href="http://www.slideshare.net/openobject/presentations">Presentations</a></li>
</ul>
</section>
</article>
<article class="oe_row">
<div class="oe_span12">
<h1>Offices</h1>
</div>
<section class="oe_span6 oe_fit">
<h2 class="fn org oe_span6">Europe/Africa</h2>
<div class="oe_clearfix">
<div class='oe_span3'>
<ul class="vcard">
<li class="oe_small adr">
<p><strong>Sales Office</strong></p>
<span class="street-address">Avenue Edmond Van Nieuwenhuyse, 5 (Serenitas building)</span>
<span class="postcode">1160</span>
<span class="locality">Brussels</span>,
<span class="country-name">Belgium</span>
</li>
<li class="tel"><a href="tel:+32 2 290 34 90"><i class="icon-phone"></i>+32 2 290 34 90</a></li>
</ul>
</div>
<div class='oe_span3'>
<ul class="vcard oe_span3">
<li class="oe_small adr">
<p><strong>Services & R&D</strong></p>
<span class="street-address">Chaussée de Namur, 40</span>
<span class="postcode">1367</span>
<span class="locality">Grand-Rosière</span>,
<span class="country-name">Belgium</span>
</li>
<li class="tel"><a href="tel:+32 81 81 37 00"><i class="icon-phone"></i>+32 81 81 37 00</a></li>
<li class="fax"><a href="fax:+32 81 73 35 01"><i class="icon-fax"></i>+32 81 73 35 01 (fax)</a></li>
</ul>
</div>
</div>
</section>
<section class="oe_span3 vcard">
<h2 class="fn org">Americas</h2>
<ul>
<li class="oe_small adr">
<p><strong>Sales, Services</strong></p>
<span class="street-address">260 Main Street</span>,
<span class="post-office-box">Suite 203</span>
<span class="locality">Redwood City</span>,
<span class="region">CA</span>
<span class="postal-code">94063</span>,
<span class="country-name">United States</span>
</li>
<li class="tel"><a href="tel:+1(650)307-6736"><i class="icon-phone"></i>+1(650)307-6736</a></li>
</ul>
</section>
<section class="oe_span3 vcard">
<h2 class="fn org">Asia Pacific</h2>
<ul>
<li class="oe_small adr">
<p><strong>Sales, Services, R&D</strong></p>
<span class="street-address">16 / 17, IT Tower 1 Infocity Gate - 1</span>
<span class="locality">Gandhinagar</span> -
<span class="postal-code">382007</span>,
<span class="region">Gujarat</span>
<span class="country-name">India</span>
</li>
<li class="tel"><i class="icon-phone"></i><a href="tel:+91(79)40 500 100">+91(79)40 500 100</a></li>
</ul>
</section>
</article>
</footer>
</body>
</html>

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="template1" model="ir.ui.view">
<field name="name">template1</field>
<field name="type">form</field>
<field name="arch" type="xml">
<html>
<body>
<header>This is the header <t t-esc="1+1"/></header>
<header><span>This is the header</span> <t t-esc="1+1"/></header>
<div class="main">This is the main content</div>
<nav>
<ul class="menu_list">
<li>Home</li>
<li>About us</li>
</ul>
</nav>
</body>
</html>
</field>
</record>
<record id="template2" model="ir.ui.view">
<field name="name">template2</field>
<field name="inherit_id" ref="template1"/>
<field name="model">res.users</field>
<field name="arch" type="xml">
<data>
<xpath expr="(//ul/li)[last()]" position="after">
<li>Event</li>
</xpath>
<xpath expr="//div[@class='main']" position="inside">
<field name="name" />
</xpath>
</data>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="layout" model="ir.ui.view">
<field name="name">layout</field>
<field name="type">qweb</field>
<!-- <!DOCTYPE html> -->
<field name="arch" type="xml">
<html>
<head>
<title t-raw="title"><t t-esc="res_company.name"/></title>
<link rel="stylesheet" href="/web/webclient/css?db=trunk2"/>
<link rel='stylesheet' href='https://www.openerp.com/saas_master/static/site_new/fonts/lato/stylesheet.css'/>
<link rel='stylesheet' href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,300,600,700'/>
<!--
<link rel="stylesheet" href="https://www.openerp.com/saas_master/static/site_new/css/website.css"/>
-->
<script type="text/javascript" src="/web/webclient/js?db=trunk2"></script>
<t t-if="editable"><script type="text/javascript" src="/website/static/src/js/website_bootstrap.js"></script></t>
</head>
<body class="oe_website">
<header class="oe_website_header">
<div class="container">
<div class="row">
<div class="oe_website_logo span4">
<a href='/page/website.homepage'><img t-att-alt="res_company.name" src='/web/binary/company_logo'/></a>
</div>
<ul class="oe_website_nav span8 nav nav-pills">
<li class="pull-right"><a href="/admin">Sign in</a></li>
<li class="pull-right"><a href="/page/website.contactus">About</a></li>
</ul>
</div>
</div>
</header>
<div class="oe_website_body" t-raw="0">
<div class="container">
<div class="row">
<h1>I'm an empty page, please edit me...</h1>
</div>
</div>
</div>
<footer class="oe_website_footer">
<div class="container">
<div class="row">
<div class="span4">
<h5>Product and services</h5>
<ul>
<li><a href="https://www.openerp.com/start?download">Download</a></li>
<li><a href="https://launchpad.net/openobject">Launchpad</a></li>
<li><a href="http://runbot.openerp.com">Automated Tests</a></li>
</ul>
</div>
<div class="span4">
<h5>Social</h5>
<ul>
<li><a href="http://twitter.com/openerp"><i class="icon-twitter-sign"></i>Twitter</a></li>
<li><a href="http://www.facebook.com/OpenERP"><i class="icon-facebook-sign"></i>Facebook</a></li>
<li><a href="https://plus.google.com/+openerp/posts"><i class="icon-google-plus-sign"></i>Google+</a></li>
</ul>
</div>
<div class="span4">
<h5 t-esc="res_company.name">Company name</h5>
<ul>
<li><a href="/page/website.contactus">Contact us</a></li>
<li><a href="/page/website.news">News</a></li>
<li><a href="/page/website.contactus">About us</a></li>
<li>&amp;#x2706; <t t-esc="res_company.phone"/></li>
</ul>
</div>
</div>
</div>
<p class="oe_website_copy text-center">&amp;copy; <t t-esc="res_company.name">Company name</t>.</p>
</footer>
</body>
</html>
</field>
</record>
<record id="homepage" model="ir.ui.view">
<field name="name">homepage</field>
<field name="type">qweb</field>
<field name="arch" type="xml">
<t t-call="website.layout">
<div style="background: linear-gradient(to bottom, rgba(136,191,232,1) 0%%,rgba(112,176,224,1) 100%%); height: 200px; ">
<div class="container">
<div class="row">
<h1>Banner title</h1>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="span12">
Description
</div>
</div>
</div>
</t>
</field>
</record>
<record id="contactus" model="ir.ui.view">
<field name="name">contactus</field>
<field name="type">qweb</field>
<field name="arch" type="xml">
<t t-call="website.layout">
<t t-set="title">Contact us - <t t-esc="res_company.name"/></t>
<div class="container">
<div class="row">
<div class="span8">
<h1>Contact us</h1>
</div>
<div class="span4">
<address>
<strong t-esc="res_company.name">Name</strong><br/>
<t t-esc="res_company.street"/><br/>
<t t-esc="res_company.city"/>, <t t-esc="res_company.zip"/><br/>
Belgium<br/>
<br/>
&amp;#x2706; <t t-esc="res_company.phone"/><br/>
<i class="icon-envelope"></i> <t t-esc="res_company.email"/>
</address>
<a href="/"><img src="http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&amp;zoom=13&amp;size=298x298&amp;sensor=false"/></a>
</div>
</div>
</div>
</t>
</field>
</record>
<!--
# WIIIP !!
module_template = Template("""
{%- for module in modules %}
<a href='#' title='{{ module.shortdesc }}' class='oe_app ab_app_descr'>
<div class='ab_app_descr'>
<div class='oe_app_icon'>
<img src="data:image/png;base64,{{ module.icon_image }}" onerror="this.src = '/base/static/src/img/icon.png'">
</div>
</div>
<div
class='oe_app_name oe_editable'
data-model='ir.module.module'
data-id='{{ module.id }}'
data-field='shortdesc'
>{{ module.shortdesc }}</div>
<div
class='oe_app_descr oe_editable'
data-model='ir.module.module'
data-id='{{ module.id }}'
data-field='summary'
>{{ module.summary }}</div>
</a>
{%- endfor %}
""")
-->
</data>
</openerp>