[MERGE] crashmanager openerp entreprise bth/rlo/chs
bzr revid: al@openerp.com-20111227155915-4s3fmuqzce9733il
This commit is contained in:
commit
c59ad9cc1d
|
@ -45,6 +45,12 @@ class OpenERPSession(object):
|
||||||
del state['config']
|
del state['config']
|
||||||
return state
|
return state
|
||||||
|
|
||||||
|
def openerp_entreprise(self):
|
||||||
|
if not self._uid:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return self.model('publisher_warranty.contract').status()['status'] == 'full'
|
||||||
|
|
||||||
def build_connection(self):
|
def build_connection(self):
|
||||||
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
|
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
|
||||||
user_id=self._uid, password=self._password)
|
user_id=self._uid, password=self._password)
|
||||||
|
|
|
@ -365,6 +365,17 @@ class Database(openerpweb.Controller):
|
||||||
class Session(openerpweb.Controller):
|
class Session(openerpweb.Controller):
|
||||||
_cp_path = "/web/session"
|
_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
|
@openerpweb.jsonrequest
|
||||||
def authenticate(self, req, db, login, password, base_location=None):
|
def authenticate(self, req, db, login, password, base_location=None):
|
||||||
wsgienv = req.httprequest.environ
|
wsgienv = req.httprequest.environ
|
||||||
|
@ -376,24 +387,8 @@ class Session(openerpweb.Controller):
|
||||||
user_agent="%s / %s" % (release.name, release.version),
|
user_agent="%s / %s" % (release.name, release.version),
|
||||||
)
|
)
|
||||||
req.session.authenticate(db, login, password, env)
|
req.session.authenticate(db, login, password, env)
|
||||||
ctx = req.session.get_context() if req.session._uid else {}
|
|
||||||
|
|
||||||
return {
|
return self.get_session_info(req)
|
||||||
"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
|
|
||||||
}
|
|
||||||
|
|
||||||
@openerpweb.jsonrequest
|
@openerpweb.jsonrequest
|
||||||
def change_password (self,req,fields):
|
def change_password (self,req,fields):
|
||||||
|
|
|
@ -1888,6 +1888,25 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dialog traceback cases */
|
||||||
|
.openerp .oe_error_detail{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.openerp .oe_error_send{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
.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 {
|
.openerp .oe_applications_tiles {
|
||||||
color: #4C4C4C;
|
color: #4C4C4C;
|
||||||
text-shadow: #EEE 0 1px 0;
|
text-shadow: #EEE 0 1px 0;
|
||||||
|
|
|
@ -167,7 +167,7 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_managed_error: function(error) {
|
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),
|
title: "OpenERP " + _.str.capitalize(error.type),
|
||||||
buttons: [
|
buttons: [
|
||||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
||||||
|
@ -175,16 +175,43 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
on_traceback: function(error) {
|
on_traceback: function(error) {
|
||||||
var dialog = new openerp.web.Dialog(this, {
|
var self = this;
|
||||||
title: "OpenERP " + _.str.capitalize(error.type),
|
var buttons = {};
|
||||||
autoOpen: true,
|
if (openerp.connection.openerp_entreprise) {
|
||||||
buttons: [
|
buttons[_t("Send OpenERP Enterprise Report")] = function() {
|
||||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
$this = $(this);
|
||||||
]
|
var issuename = $('#issuename').val();
|
||||||
}).start();
|
var explanation = $('#explanation').val();
|
||||||
dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
|
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 {
|
||||||
|
buttons[_t("Ok")] = function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var dialog = new openerp.web.Dialog(this, {
|
||||||
|
title: "OpenERP " + _.str.capitalize(this.error.type),
|
||||||
|
autoOpen: true,
|
||||||
|
width: '80%',
|
||||||
|
height: '50%',
|
||||||
|
min_width: '800px',
|
||||||
|
min_height: '600px',
|
||||||
|
buttons: buttons
|
||||||
|
}).start();
|
||||||
|
dialog.$element.html(QWeb.render('CrashManagerError', {session: openerp.connection, error: error}));
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading# */{
|
openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading# */{
|
||||||
template: 'Loading',
|
template: 'Loading',
|
||||||
|
@ -1084,6 +1111,10 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
|
||||||
self.action_manager = new openerp.web.ActionManager(self);
|
self.action_manager = new openerp.web.ActionManager(self);
|
||||||
self.action_manager.appendTo($("#oe_app"));
|
self.action_manager.appendTo($("#oe_app"));
|
||||||
self.bind_hashchange();
|
self.bind_hashchange();
|
||||||
|
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 - Usupported/Community Version');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
do_reload: function() {
|
do_reload: function() {
|
||||||
|
|
|
@ -373,6 +373,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
||||||
this.username = false;
|
this.username = false;
|
||||||
this.user_context= {};
|
this.user_context= {};
|
||||||
this.db = false;
|
this.db = false;
|
||||||
|
this.openerp_entreprise = false;
|
||||||
this.module_list = [];
|
this.module_list = [];
|
||||||
this.module_loaded = {"web": true};
|
this.module_loaded = {"web": true};
|
||||||
this.context = {};
|
this.context = {};
|
||||||
|
@ -549,7 +550,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
||||||
db: result.db,
|
db: result.db,
|
||||||
username: result.login,
|
username: result.login,
|
||||||
uid: result.uid,
|
uid: result.uid,
|
||||||
user_context: result.context
|
user_context: result.context,
|
||||||
|
openerp_entreprise: result.openerp_entreprise
|
||||||
});
|
});
|
||||||
var deferred = self.do_load_qweb(['/web/webclient/qweb']);
|
var deferred = self.do_load_qweb(['/web/webclient/qweb']);
|
||||||
if(self.session_is_valid()) {
|
if(self.session_is_valid()) {
|
||||||
|
@ -574,7 +576,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
||||||
db: result.db,
|
db: result.db,
|
||||||
username: result.login,
|
username: result.login,
|
||||||
uid: result.uid,
|
uid: result.uid,
|
||||||
user_context: result.context
|
user_context: result.context,
|
||||||
|
openerp_entreprise: result.openerp_entreprise
|
||||||
});
|
});
|
||||||
if (!volatile) {
|
if (!volatile) {
|
||||||
self.set_cookie('session_id', self.session_id);
|
self.set_cookie('session_id', self.session_id);
|
||||||
|
|
|
@ -247,6 +247,54 @@
|
||||||
</form>
|
</form>
|
||||||
</t>
|
</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">
|
<t t-name="Login_dblist">
|
||||||
<select name="db">
|
<select name="db">
|
||||||
<t t-foreach="db_list" t-as="db">
|
<t t-foreach="db_list" t-as="db">
|
||||||
|
@ -1327,28 +1375,6 @@
|
||||||
</t>
|
</t>
|
||||||
</select>
|
</select>
|
||||||
</t>
|
</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>
|
|
||||||
<t t-name="SelectCreatePopup">
|
<t t-name="SelectCreatePopup">
|
||||||
<div t-att-id="element_id">
|
<div t-att-id="element_id">
|
||||||
<table style="width:100%">
|
<table style="width:100%">
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
</a>
|
</a>
|
||||||
<a class="cta-a" target="_blank" href="http://www.openerp.com/services/subscribe-onsite">
|
<a class="cta-a" target="_blank" href="http://www.openerp.com/services/subscribe-onsite">
|
||||||
<span>
|
<span>
|
||||||
<strong>Support / Publisher Warranty</strong>
|
<strong>Support / OpenERP Enterprise</strong>
|
||||||
Get the OpenERP Warranty
|
Get the OpenERP Warranty
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
Loading…
Reference in New Issue