[MERGE]Merge lp:~openerp-dev/openobject-addons/trunk-website-al.
authorbth-openerp <bth@tinyerp.com>
Tue, 6 Aug 2013 09:19:09 +0000 (14:49 +0530)
committerbth-openerp <bth@tinyerp.com>
Tue, 6 Aug 2013 09:19:09 +0000 (14:49 +0530)
bzr revid: bth@tinyerp.com-20130802113100-o2zujug0h9mbuw49
bzr revid: bth@tinyerp.com-20130805080538-tqslnjo1tzu5isrs
bzr revid: bth@tinyerp.com-20130806091909-fbpfe6mj7p3ob0dt

1  2 
addons/website_hr_recruitment/controllers/main.py
addons/website_hr_recruitment/views/website_hr_recruitment.xml

index 5ddb6d7,0000000..6ea7f64
mode 100644,000000..100644
--- /dev/null
@@@ -1,56 -1,0 +1,49 @@@
 +# -*- coding: utf-8 -*-
- import openerp
 +from openerp.addons.web import http
 +from openerp.addons.web.http import request
- from openerp.addons.website.controllers.main import template_values
 +import base64
- import tempfile
 +
 +from urllib import quote_plus
 +
 +class website_hr_recruitment(http.Controller):
 +
-     @http.route(['/career'], type='http', auth="admin")
-     def career(self, *arg, **post):
-         values = template_values()
++    @http.route(['/career'], type='http', auth="public")
++    def career(self, **post):
++        website = request.registry['website']
 +        jobpost_ids = request.registry['hr.job'].search(request.cr, request.uid, [("state", "=", 'open')])
-         values.update({
-            'res_job': request.registry['hr.job'].browse(request.cr, request.uid, jobpost_ids),
-            'res_company': request.registry['res.company'].browse(request.cr, request.uid, 1)
++        values = website.get_rendering_context({
++            'res_job': request.registry['hr.job'].browse(request.cr, request.uid, jobpost_ids)
 +        })
-         html = request.registry.get("ir.ui.view").render(request.cr, request.uid, "website_hr_recruitment.career", values)
++        html = website.render("website_hr_recruitment.career", values)
 +        return html
 +
-     @http.route(['/job/detail/<id>'], type='http', auth="admin")
++    @http.route(['/job/detail/<id>'], type='http', auth="public")
 +    def detail(self, id=0):
-         values = template_values()
 +        id = id and int(id) or 0
-         values.update({
-             'job': request.registry['hr.job'].browse(request.cr, request.uid, id),
-             'res_company': request.registry['res.company'].browse(request.cr, request.uid, 1)
++        website = request.registry['website']
++        values = website.get_rendering_context({
++            'job': request.registry['hr.job'].browse(request.cr, request.uid, id)
 +        })
-         html = request.registry.get("ir.ui.view").render(request.cr, request.uid, "website_hr_recruitment.detail", values)
++        html = website.render("website_hr_recruitment.detail", values)
 +        return html
 +
 +    @http.route(['/job/success'], type='http', auth="admin")
-     def success(self, *arg, **post):
++    def success(self, **post):
 +        id = request.registry['hr.applicant'].create(request.cr, request.uid, post)
 +        if post['ufile']:
 +            attachment_values = {
 +                'name': post['ufile'].filename,
 +                'datas': base64.encodestring(post['ufile'].read()),
 +                'datas_fname': post['ufile'].filename,
 +                'res_model': 'hr.applicant',
 +                'res_name': post['name'],
 +                'res_id': id
 +                }
 +            request.registry['ir.attachment'].create(request.cr, request.uid, attachment_values)
-         values = template_values()
-         values.update({
-                'jobid': post['job_id'],
-                'res_company': request.registry['res.company'].browse(request.cr, request.uid, 1)
++        website = request.registry['website']
++        values = website.get_rendering_context({
++                'jobid': post['job_id']
 +           })
-         html = request.registry.get("ir.ui.view").render(request.cr, request.uid, "website_hr_recruitment.thankyou", values)
++        html = website.render("website_hr_recruitment.thankyou", values)
 +        return html
 +# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
index d770022,0000000..ab67b8f
mode 100644,000000..100644
--- /dev/null
@@@ -1,131 -1,0 +1,131 @@@
 +<?xml version="1.0" encoding="utf-8"?>
 +<openerp>
 +    <data>
 +        <record id="header_career" model="ir.ui.view">
 +            <field name="name">header_career</field>
 +            <field name="type">qweb</field>
 +            <field name="inherit_id" ref="website.header"/>
 +            <field name="arch" type="xml">
 +                <data>
 +                    <xpath expr="(//li)[last()]" position="after">
 +                        <li class="pull-right"><a href="/career">Career</a></li>
 +                    </xpath>
 +                </data>
 +            </field>
 +        </record>
 +        <template id="career">
 +            <t t-call="website.layout">
 +                <t t-set="title">Career</t>
 +                <div class="container">
 +                    <section id="tables">
 +                        <div class="page-header">
 +                            <h1>Job Position</h1>
 +                        </div>
 +                        <table class="table table-bordered table-striped table-hover">
 +                            <thead>
 +                                <tr>
 +                                    <th>Post Name</th>
 +                                </tr>
 +                            </thead>
 +                            <tbody>
 +                                <t t-foreach="res_job" t-as="job">
 +                                    <tr>
 +                                        <td>
-                                             <a t-att-href="'/job/detail/%%s' %% job.id"><span class="lead" t-record="job" t-field="name"><t t-esc="job.name"/></span></a><br/>
++                                            <a t-att-href="'/job/detail/%%s' %% job.id"><span class="lead"><t t-esc="job.name"/></span></a><br/>
 +                                            <span t-if="job.department_id"><t t-esc="job.department_id.name"/></span>
 +                                            <span><t t-esc="job.post_date"/></span>
 +                                        </td>
 +                                        <td>
 +                                            <a t-att-href="'/job/detail/%%s' %% job.id">Apply</a>
 +                                        </td>
 +                                    </tr>
 +                                </t>
 +                            </tbody>
 +                        </table>
 +                    </section>
 +                </div>
 +            </t>
 +        </template>
 +        <template id="detail">
 +            <t t-call="website.layout">
 +                <t t-set="title">Job Detail</t>
 +                <div class="span4 pull-right">
 +                    <ul class="pager">
 +                        <li><a t-att-href="'/career'">Back</a></li>
 +                    </ul>
 +                </div>
 +                <div class="container">
 +                    <div class="page-header">
 +                        <h1><t t-esc="job.name"/></h1>
 +                    </div>
 +                    <div class="row">
 +                        <div class="span12">
 +                            <h3>Description</h3>
 +                            <p t-if="job.description"><t t-esc="job.description"/></p>
 +                            <h3>Requirements</h3>
 +                            <p t-if="job.requirements"><t t-esc="job.requirements"/></p>
 +                        </div>
 +                    </div>
 +                    <t t-call="website_hr_recruitment.applyjobpost"/>
 +                </div>
 +            </t>
 +        </template>
 +        <template id="applyjobpost">
 +            <t t-set="title">Apply Job</t>
 +            <section id="forms">
 +                <div class="page-header">
 +                    <h1>Apply</h1>
 +                </div>
 +                <div class="row">
 +                    <form class="form-horizontal well" action="/job/success" method="post" enctype="multipart/form-data">
 +                        <fieldset>
 +                            <input type="hidden" t-att-value="job.department_id.id" name="department_id"/>
 +                            <input type="hidden" t-att-value="job.id" name="job_id"/>
 +                            <input type="hidden" t-att-value="job.name" name="name"/>
 +                            <div class="control-group">
 +                                <input type="text" class="input-xlarge" id="nametxt" name="partner_name" required="true" placeholder="Name..."/>
 +                            </div>
 +                            <div class="control-group">
 +                                <input type="text" class="input-xlarge" id="emailtxt" name="email_from" required="true" placeholder="Email..."/>
 +                            </div>
 +                            <div class="control-group">
 +                                <textarea class="span8" style="margin-top:5px; height: 140px;" name="description" placeholder="Enter your comment..."> </textarea>
 +                            </div>
 +                            <div class="control-group">
 +                                <input class="input-file" id="fileInput" type="file" name="ufile" required="true"/>
 +                            </div>
 +                            <div class="control-group">
 +                                <label class="control-label">Please enter the letters displayed:</label>
 +                                <div class="controls">
 +                                    <input type="text" id="defaultReal" name="defaultReal" required="true"/>
 +                                    <input type="hidden" id="captchaval" name="captchaval"/>
 +                                </div>
 +                            </div>
 +                            <div class="form-actions">
 +                                <button type="submit" class="btn btn-primary">Save</button>
 +                                <button type="reset" class="btn"><a t-att-href="'/career'">Cancel</a></button>
 +                          </div>
 +                        </fieldset>
 +                    </form>
 +                </div>
 +            </section>
 +        </template>
 +        <template id="thankyou">
 +            <t t-call="website.layout">
 +                <t t-set="title">Thank You!</t>
 +                <div class="span4 pull-right">
 +                    <ul class="pager">
 +                        <li><a t-att-href="'/job/detail/%%s' %% jobid">Back</a></li>
 +                    </ul>
 +                </div>
 +                <section id="typography">
 +                    <div class="container">
 +                        <div class="row">
 +                            <h2 class="oe_slogan">You have successfully applied for job.</h2>
 +                        </div>
 +                    </div>
 +                </section>
 +            </t>
 +        </template>
 +     </data>
 +</openerp>