[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']
|
||||
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):
|
||||
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
|
||||
user_id=self._uid, password=self._password)
|
||||
|
|
|
@ -365,6 +365,17 @@ class Database(openerpweb.Controller):
|
|||
class Session(openerpweb.Controller):
|
||||
_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
|
||||
|
@ -376,24 +387,8 @@ class Session(openerpweb.Controller):
|
|||
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
|
||||
}
|
||||
return self.get_session_info(req)
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
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;
|
||||
}
|
||||
|
||||
/* 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 {
|
||||
color: #4C4C4C;
|
||||
text-shadow: #EEE 0 1px 0;
|
||||
|
|
|
@ -167,7 +167,7 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
|||
}
|
||||
},
|
||||
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"); }}
|
||||
|
@ -175,15 +175,42 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
|||
});
|
||||
},
|
||||
on_traceback: function(error) {
|
||||
var self = this;
|
||||
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 {
|
||||
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('CrashManagerError', {session: openerp.connection, error: error}));
|
||||
},
|
||||
});
|
||||
|
||||
openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.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.appendTo($("#oe_app"));
|
||||
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() {
|
||||
|
|
|
@ -373,6 +373,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
|||
this.username = false;
|
||||
this.user_context= {};
|
||||
this.db = false;
|
||||
this.openerp_entreprise = false;
|
||||
this.module_list = [];
|
||||
this.module_loaded = {"web": true};
|
||||
this.context = {};
|
||||
|
@ -549,7 +550,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
|||
db: result.db,
|
||||
username: result.login,
|
||||
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']);
|
||||
if(self.session_is_valid()) {
|
||||
|
@ -574,7 +576,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
|||
db: result.db,
|
||||
username: result.login,
|
||||
uid: result.uid,
|
||||
user_context: result.context
|
||||
user_context: result.context,
|
||||
openerp_entreprise: result.openerp_entreprise
|
||||
});
|
||||
if (!volatile) {
|
||||
self.set_cookie('session_id', self.session_id);
|
||||
|
|
|
@ -247,6 +247,54 @@
|
|||
</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">
|
||||
|
@ -1327,28 +1375,6 @@
|
|||
</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>
|
||||
<t t-name="SelectCreatePopup">
|
||||
<div t-att-id="element_id">
|
||||
<table style="width:100%">
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
</a>
|
||||
<a class="cta-a" target="_blank" href="http://www.openerp.com/services/subscribe-onsite">
|
||||
<span>
|
||||
<strong>Support / Publisher Warranty</strong>
|
||||
<strong>Support / OpenERP Enterprise</strong>
|
||||
Get the OpenERP Warranty
|
||||
</span>
|
||||
</a>
|
||||
|
|
Loading…
Reference in New Issue