del state['config']
return state
- def has_pwc(self):
++ def openerp_entreprise(self):
+ if not self._uid:
+ return False
+ else:
+ return self.model('publisher_warranty.contract').status()['status'] == 'full'
+
def build_connection(self):
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
user_id=self._uid, password=self._password)
_cp_path = "/web/session"
@openerpweb.jsonrequest
++ def get_session_info(self, req):
++ return {
++ "session_id": req.session_id,
++ "uid": req.session._uid,
++ "context": req.session.get_context() if req.session._uid else {},
++ "db": req.session._db,
++ "login": req.session._login,
++ "openerp_entreprise": req.session.openerp_entreprise(),
++ }
++
++ @openerpweb.jsonrequest
def authenticate(self, req, db, login, password, base_location=None):
wsgienv = req.httprequest.environ
release = web.common.release
user_agent="%s / %s" % (release.name, release.version),
)
req.session.authenticate(db, login, password, env)
-- ctx = req.session.get_context() if req.session._uid else {}
-
- return {
- "session_id": req.session_id,
- "uid": req.session._uid,
- "context": ctx,
- "db": req.session._db,
- "login": req.session._login
- }
- @openerpweb.jsonrequest
- def get_session_info(self, req):
-- return {
- "uid": req.session._uid,
- "context": req.session.get_context() if req.session._uid else False,
- "db": req.session._db,
- "login": req.session._login
- }
- "session_id": req.session_id,
- "uid": req.session._uid,
- "context": ctx,
- "db": req.session._db,
- "login": req.session._login,
- "has_pwc": req.session.has_pwc()
- }
-
- @openerpweb.jsonrequest
- def get_session_info(self, req):
- return {
- "uid": req.session._uid,
- "context": req.session.get_context() if req.session._uid else False,
- "db": req.session._db,
- "login": req.session._login,
- "has_pwc": req.session.has_pwc()
- }
++ return self.get_session_info(req)
@openerpweb.jsonrequest
def change_password (self,req,fields):
display: block;
}
+ /* Dialog traceback cases */
+ .openerp .oe_error_detail{
- display:block;
++ display: block;
+ }
+ .openerp .oe_error_send{
+ display:block;
+ }
-.openerp .oe_error_fix{
- border:1px solid #999999;
- overflow:auto;
-}
+ .openerp .oe_fielddiv{
+ display:inline-block;
+ width:100%;
+ }
+ .openerp .oe_fielddiv input[type=text],textarea{
+ width:100%;
+ }
+ /* for Alignment center */
+ .openerp .oe_centeralign{
+ text-align:center;
+ }
+
.openerp .oe_applications_tiles {
color: #4C4C4C;
text-shadow: #EEE 0 1px 0;
}
},
on_managed_error: function(error) {
-- $('<div>' + QWeb.render('DialogWarning', {error: error}) + '</div>').dialog({
++ $('<div>' + QWeb.render('CrashManagerWarning', {error: error}) + '</div>').dialog({
title: "OpenERP " + _.str.capitalize(error.type),
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
});
},
on_traceback: function(error) {
- this.servererror = new openerp.web.ServerError(this,error);
- this.servererror.start();
- }
-});
-openerp.web.ServerError = openerp.web.Dialog.extend({
- template: 'DialogTraceback',
- init: function(parent, error) {
- this._super(parent);
- this.error = error;
- },
- start: function() {
+ var self = this;
- if (self.session.has_pwc) {
- var buttons = [
- {
- text: _t("Send to OpenERP Enterprise Team"),
- click: function() {
- $this = $(this);
- var issuename = $('#issuename').val();
- var explanation = $('#explanation').val();
- var remark = $('#remark').val();
- // Call the send method from server to send mail with details
- new openerp.web.DataSet(self, 'publisher_warranty.contract').call_and_eval('send', [self.error.data,explanation,remark,issuename]).then(function(result){
- if (result === false) {
- alert('There was a communication error.')
- } else {
- $this.dialog('close');
- }
- console.log(arguments);
- });
- }
- },
- {
- text: _t("Dont send"), click: function() { $(this).dialog("close"); }
- }
- ]
++ var buttons = {};
++ if (openerp.connection.openerp_entreprise) {
++ buttons[_t("Send OpenERP Enterprise Report")] = function() {
++ $this = $(this);
++ var issuename = $('#issuename').val();
++ var explanation = $('#explanation').val();
++ var remark = $('#remark').val();
++ // Call the send method from server to send mail with details
++ new openerp.web.DataSet(self, 'publisher_warranty.contract').call_and_eval('send', [error.data,explanation,remark,issuename]).then(function(result){
++ if (result === false) {
++ alert('There was a communication error.')
++ } else {
++ $this.dialog('close');
++ }
++ });
++ };
++ buttons[_t("Dont send")] = function() {
++ $(this).dialog("close");
++ };
+ } else {
- var buttons = {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
++ buttons[_t("Ok")] = function() {
++ $(this).dialog("close");
++ };
+ }
-
var dialog = new openerp.web.Dialog(this, {
- title: "OpenERP " + _.str.capitalize(error.type),
+ title: "OpenERP " + _.str.capitalize(this.error.type),
autoOpen: true,
- buttons: [
- {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
- ]
+ width: '80%',
+ height: '50%',
+ min_width: '800px',
+ min_height: '600px',
+ buttons: buttons
}).start();
- dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
- }
- dialog.$element.html(QWeb.render('DialogTraceback', {session: this.session, error: this.error}));
- }
++ dialog.$element.html(QWeb.render('CrashManagerError', {session: openerp.connection, error: error}));
++ },
});
openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading# */{
self.action_manager = new openerp.web.ActionManager(self);
self.action_manager.appendTo($("#oe_app"));
self.bind_hashchange();
- if (!self.session.has_pwc) {
++ if (!self.session.openerp_entreprise) {
+ self.$element.find('.oe_footer_powered').append('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">Unsupported/Community Version</a></span>');
- $('title').html('OpenERP - Community Version');
++ $('title').html('OpenERP - Usupported/Community Version');
+ }
});
},
do_reload: function() {
this.username = false;
this.user_context= {};
this.db = false;
++ this.openerp_entreprise = false;
this.module_list = [];
this.module_loaded = {"web": true};
this.context = {};
db: result.db,
username: result.login,
uid: result.uid,
- user_context: result.context
+ user_context: result.context,
- has_pwc: result.has_pwc
++ openerp_entreprise: result.openerp_entreprise
});
var deferred = self.do_load_qweb(['/web/webclient/qweb']);
if(self.session_is_valid()) {
db: result.db,
username: result.login,
uid: result.uid,
- user_context: result.context
+ user_context: result.context,
- has_pwc: result.has_pwc
++ openerp_entreprise: result.openerp_entreprise
});
if (!volatile) {
self.set_cookie('session_id', self.session_id);
</form>
</t>
++<t t-name="CrashManagerWarning">
++ <table cellspacing="0" cellpadding="0" border="0" class="oe-dialog-warning">
++ <tr>
++ <td><img t-att-src='_s + "/web/static/src/img/warning.png"' class="oe-dialog-icon"/></td>
++ <td>
++ <p>
++ <t t-js="d">
++ var message = d.message ? d.message : d.error.data.fault_code;
++ d.html_error = context.engine.tools.html_escape(message)
++ .replace(/\n/g, '<br/>');
++ </t>
++ <t t-raw="html_error"/>
++ </p>
++ </td>
++ </tr>
++ </table>
++</t>
++<t t-name="CrashManagerError">
++ <t t-if="!session.openerp_entreprise">
++ <span>Your version of OpenERP is unsupported. Support & maintenance services are available here: <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">OpenERP Entreprise</a>.</span>
++ </t>
++ <t t-if="session.openerp_entreprise">
++ <div class="oe_error_send">
++ <div>
++ <div class="oe_centeralign"><b>OpenERP Enterprise Contract.</b></div>
++ <div><br/>Your report will be sent to the OpenERP Enterprise team.<br/></div><br/>
++ <div>
++ <label>Summary:</label><br/>
++ <input id="issuename" type="text" class="oe_fielddiv"/>
++ </div><br/><br/>
++ <div>
++ <label>Description:</label><br/>
++ <textarea id="explanation" rows="6"></textarea>
++ </div><br/><br/>
++ <div>
++ <label>What you did:</label><br/>
++ <textarea id="remark" rows="6" ></textarea>
++ </div>
++ </div>
++ </div><br/>
++ </t>
++ <div class="oe_error_detail">
++ <pre><t t-esc="error.message"/></pre>
++ <hr/>
++ <pre><t t-esc="error.data.debug"/></pre>
++ </div>
++</t>
++
<t t-name="Login_dblist">
<select name="db">
<t t-foreach="db_list" t-as="db">
</t>
</select>
</t>
--<t t-name="DialogWarning">
-- <table cellspacing="0" cellpadding="0" border="0" class="oe-dialog-warning">
-- <tr>
-- <td><img t-att-src='_s + "/web/static/src/img/warning.png"' class="oe-dialog-icon"/></td>
-- <td>
-- <p>
-- <t t-js="d">
-- var message = d.message ? d.message : d.error.data.fault_code;
-- d.html_error = context.engine.tools.html_escape(message)
-- .replace(/\n/g, '<br/>');
-- </t>
-- <t t-raw="html_error"/>
-- </p>
-- </td>
-- </tr>
-- </table>
--</t>
--<t t-name="DialogTraceback">
- <pre><t t-esc="error.message"/></pre>
- <hr/>
- <pre><t t-esc="error.data.debug"/></pre>
- </t>
- <form>
- <t t-if="!session.has_pwc">
- <span>You have an unsupported version. <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">Click here</a> to get support & maintenance services.</span>
- </t>
- <t t-if="session.has_pwc">
- <div class="oe_error_send">
- <div>
- <div class="oe_centeralign"><b>OpenERP Enterprise Contract.</b></div>
- <div><br/>Your request will be sent to OpenERP and OpenERP Enterprise team will reply you shortly.<br/></div><br/>
- <div>
- <label>Summary:</label><br/>
- <input id="issuename" type="text" class="oe_fielddiv"/>
- </div><br/><br/>
- <div>
- <label>Description:</label><br/>
- <textarea id="explanation" rows="6"></textarea>
- </div><br/><br/>
- <div>
- <label>What you did:</label><br/>
- <textarea id="remark" rows="6" ></textarea>
- </div>
- </div>
- </div><br/>
- </t>
- <div class="oe_error_detail oe_error_fix">
- <pre><t t-esc="error.message"/></pre>
- <hr/>
- <pre><t t-esc="error.data.debug"/></pre>
- </div>
- </form>
-</t>
<t t-name="SelectCreatePopup">
<div t-att-id="element_id">
<table style="width:100%">