Roberto López López (OpenERP) has proposed merging
lp:~openerp-dev/openerp-web/trunk-crashdialog-rlo into lp:openerp-web.
Requested reviews:
Antony Lesuisse (OpenERP) (al-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-crashdialog-rlo/+merge/86589
crash dialog & etc.
--
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-crashdialog-rlo/+merge/86589
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openerp-web/trunk-crashdialog-rlo.
=== modified file 'addons/web/common/session.py'
--- addons/web/common/session.py 2011-12-15 12:07:32 +0000
+++ addons/web/common/session.py 2011-12-21 17:18:26 +0000
@@ -45,6 +45,12 @@
del state['config']
return state
+ def has_pwc(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)
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py 2011-12-20 15:05:56 +0000
+++ addons/web/controllers/main.py 2011-12-21 17:18:26 +0000
@@ -383,7 +383,8 @@
"uid": req.session._uid,
"context": ctx,
"db": req.session._db,
- "login": req.session._login
+ "login": req.session._login,
+ "has_pwc": req.session.has_pwc()
}
@openerpweb.jsonrequest
@@ -392,7 +393,8 @@
"uid": req.session._uid,
"context": req.session.get_context() if req.session._uid else False,
"db": req.session._db,
- "login": req.session._login
+ "login": req.session._login,
+ "has_pwc": req.session.has_pwc()
}
@openerpweb.jsonrequest
=== modified file 'addons/web/static/src/css/base.css'
--- addons/web/static/src/css/base.css 2011-12-21 15:56:07 +0000
+++ addons/web/static/src/css/base.css 2011-12-21 17:18:26 +0000
@@ -1872,6 +1872,7 @@
display: block;
}
+<<<<<<< TREE
.openerp .oe_vm_switch {
margin:2px 0 0 0;
}
@@ -1972,6 +1973,50 @@
background-position: 0px -21px;
}
+=======
+/* Dialog traceback cases */
+.openerp .expandcase {
+ background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat;
+ margin-top:10px;
+}
+.openerp .collapsecase {
+ background: transparent url(/web/static/src/img/collapse.gif) 0 50% no-repeat;
+ margin-top:10px;
+}
+.openerp .case-head{
+ padding-left:18px;
+ margin-top:5px;
+}
+.openerp .error-detail{
+ display:none;
+}
+.openerp .error-send{
+ display:block;
+}
+.openerp .error-fix{
+ border:1px solid #999999;
+ overflow:auto;
+}
+.openerp .fielddiv{
+ display:inline-block;
+}
+.openerp .fielddiv label{
+ /* width:20%; */
+ float:left;
+ text-align:right;
+}
+.openerp .fielddiv div{
+ width:79%;
+ float:right;
+}
+.openerp .fielddiv input[type=text],textarea{
+ width:200px;
+}
+/* for Alignment center */
+.openerp .centeralign{
+ text-align:center;
+}
+>>>>>>> MERGE-SOURCE
/* Buttons */
.openerp .oe_button:link,
.openerp .oe_button:visited,
@@ -2063,4 +2108,5 @@
color: #aaaaaa !important;
cursor: default;
text-shadow: 0 1px 1px white !important;
+>>>>>>> MERGE-SOURCE
}
=== modified file 'addons/web/static/src/js/chrome.js'
--- addons/web/static/src/js/chrome.js 2011-12-21 13:43:06 +0000
+++ addons/web/static/src/js/chrome.js 2011-12-21 17:18:26 +0000
@@ -175,14 +175,58 @@
});
},
on_traceback: function(error) {
+ this.servererror = new openerp.web.ServerError(error);
+ this.servererror.start();
+ }
+});
+openerp.web.ServerError = openerp.web.Dialog.extend({
+ template: 'DialogTraceback',
+ init: function(error) {
+ this._super();
+ this.error = error;
+ },
+ start: function() {
+ var self = this;
var dialog = new openerp.web.Dialog(this, {
- title: "OpenERP " + _.str.capitalize(error.type),
+ title: "OpenERP " + _.str.capitalize(this.error.type),
autoOpen: true,
+<<<<<<< TREE
+=======
+ width: '80%',
+ height: '50%',
+ min_width: '800px',
+ min_height: '600px',
+>>>>>>> MERGE-SOURCE
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
}).start();
- dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
+ dialog.$element.html(QWeb.render('DialogTraceback', {error: this.error}));
+
+ $('#button_send_error').click(function() {
+ 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.'))
+ console.log(arguments);
+ });
+ });
+
+ if (!self.session.has_pwc) {
+ $('.error-send').html('<span><a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">Unsupported/Community Version</a></span>');
+ }
+
+ dialog.$element.find('.expandcase').each(function() {
+ var $this = $(this);
+
+ $this.click( function() {
+ $this.next().toggle().prev().toggleClass("expandcase collapsecase");
+ });
+ });
}
});
@@ -531,6 +575,10 @@
this.has_local_storage = typeof(localStorage) != 'undefined';
this.selected_db = null;
this.selected_login = null;
+ // var self = this;
+ new openerp.web.DataSet(this, 'publisher_warranty.contract');//.call_and_eval('status', []);//.then(function(res) {
+// this.contract = res.status;
+ //});
if (this.has_local_storage && this.remember_credentials) {
this.selected_db = localStorage.getItem('last_db_login_success');
@@ -1035,6 +1083,10 @@
self.action_manager = new openerp.web.ActionManager(self);
self.action_manager.appendTo($("#oe_app"));
self.bind_hashchange();
+ if (!self.session.has_pwc) {
+ 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');
+ }
});
},
do_reload: function() {
=== modified file 'addons/web/static/src/js/core.js'
--- addons/web/static/src/js/core.js 2011-12-21 10:41:49 +0000
+++ addons/web/static/src/js/core.js 2011-12-21 17:18:26 +0000
@@ -549,7 +549,8 @@
db: result.db,
username: result.login,
uid: result.uid,
- user_context: result.context
+ user_context: result.context,
+ has_pwc: result.has_pwc
});
var deferred = self.do_load_qweb(['/web/webclient/qweb']);
if(self.session_is_valid()) {
@@ -574,7 +575,8 @@
db: result.db,
username: result.login,
uid: result.uid,
- user_context: result.context
+ user_context: result.context,
+ has_pwc: result.has_pwc
});
if (!volatile) {
self.set_cookie('session_id', self.session_id);
=== modified file 'addons/web/static/src/xml/base.xml'
--- addons/web/static/src/xml/base.xml 2011-12-21 16:43:35 +0000
+++ addons/web/static/src/xml/base.xml 2011-12-21 17:18:26 +0000
@@ -56,7 +56,8 @@
<tr>
<td colspan="2">
<div id="oe_footer" class="oe_footer">
- <p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.</p>
+ <p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.
+ </p>
</div>
</td>
</tr>
@@ -1395,9 +1396,38 @@
</table>
</t>
<t t-name="DialogTraceback">
- <pre><t t-esc="error.message"/></pre>
- <hr/>
- <pre><t t-esc="error.data.debug"/></pre>
+ <form>
+ <div class="expandcase">
+ <span class="case-head"><t t-esc="'Let me fix it'" /></span>
+ </div>
+ <div class="error-detail error-fix">
+ <pre><t t-esc="error.message"/></pre>
+ <hr/>
+ <pre><t t-esc="error.data.debug"/></pre>
+ </div>
+ <!--div id="case2" class="expandcase">
+ <span class="case-head"><a><t t-esc="'Fix it for me'" /></a></span>
+ </div-->
+ <div class="error-send">
+ <div>
+ <div class="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>
+ <span class="fielddiv">
+ <label>Summary:</label><br/>
+ <input id="issuename" type="text"/>
+ </span><br/><br/>
+ <div class="fielddiv">
+ <label>Description:</label><br/>
+ <textarea id="explanation" rows="6"></textarea>
+ </div><br/><br/>
+ <div class="fielddiv">
+ <label>What you did:</label><br/>
+ <textarea id="remark" rows="6" ></textarea>
+ </div>
+ <div><br/><input type="button" value="Send To OpenERP Enterprise Team" id="button_send_error"/></div>
+ </div>
+ </div>
+ </form>
</t>
<t t-name="SelectCreatePopup">
<div t-att-id="element_id">
=== modified file 'addons/web_process/static/src/xml/web_process.xml'
--- addons/web_process/static/src/xml/web_process.xml 2011-12-20 11:55:00 +0000
+++ addons/web_process/static/src/xml/web_process.xml 2011-12-21 17:18:26 +0000
@@ -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>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp