openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #00168
[Merge] lp:~openerp-dev/openobject-client-web/web-piratepad into lp:openobject-client-web
cpa(OpenERP) has proposed merging lp:~openerp-dev/openobject-client-web/web-piratepad into lp:openobject-client-web.
Requested reviews:
OpenERP SA's Web Client R&D (openerp-dev-web)
--
https://code.launchpad.net/~openerp-dev/openobject-client-web/web-piratepad/+merge/38399
Your team OpenERP SA's Web Client R&D is requested to review the proposed merge of lp:~openerp-dev/openobject-client-web/web-piratepad into lp:openobject-client-web.
=== modified file 'addons/openerp/controllers/attachment.py'
--- addons/openerp/controllers/attachment.py 2010-09-20 06:22:44 +0000
+++ addons/openerp/controllers/attachment.py 2010-10-14 09:24:48 +0000
@@ -86,7 +86,22 @@
'datas': base64.encodestring(datas.file.read()),
}, ctx)
return {'id': attachment_id, 'name': datas.filename}
-
+
+ @expose('json', methods=('POST',))
+ def save_pad(self, **kwargs):
+ params, data = TinyDict.split(cherrypy.session['params'])
+ pad_name=kwargs.get('pad_name')
+ ctx = dict(rpc.session.context,
+ default_res_model=params.model, default_res_id=params.id,
+ active_id=False, active_ids=[])
+
+ pad_link = "http://piratepad.net/"+'-'.join(pad_name.split())
+ attachment_id = rpc.RPCProxy('ir.attachment').create({
+ 'name': pad_name,
+ 'url': pad_link,
+ }, ctx)
+ return {'id': attachment_id, 'name': pad_name, 'url': pad_link}
+
@expose('json', methods=('POST',))
def remove(self, id=False, **kw):
proxy = rpc.RPCProxy('ir.attachment')
=== modified file 'addons/openerp/static/css/screen.css'
--- addons/openerp/static/css/screen.css 2010-10-13 16:02:00 +0000
+++ addons/openerp/static/css/screen.css 2010-10-14 09:24:48 +0000
@@ -2182,10 +2182,15 @@
button {
}
-#sidebar #add-attachment {
+#sidebar #add-attachment,
+#sidebar #add-pad {
position: absolute;
top: 3px;
right: 1px;
+ padding:1px 6px;
+ line-height:14px;
+ -moz-box-shadow: 0 0 0 transparent;
+ -webkit-box-shadow:0 0 0 transparent;
}
.attachments-a li {
=== modified file 'addons/openerp/static/javascript/form.js'
--- addons/openerp/static/javascript/form.js 2010-10-13 13:03:05 +0000
+++ addons/openerp/static/javascript/form.js 2010-10-14 09:24:48 +0000
@@ -1139,7 +1139,7 @@
* Creates a new line in #attachments if the creation succeeds.
*/
function createAttachment(){
- if (!jQuery('#sidebar_attachments_datas').val()) {
+ if (!jQuery('#sidebar_pad_datas').val() && !jQuery('#sidebar_attachments_datas').val()) {
return false;
}
var form = jQuery(this);
@@ -1148,18 +1148,23 @@
success: function(data){
var attachment_line = jQuery('<li>', {
'id': 'attachment_item_' + data['id'],
- 'data-id': data['id']
+ 'data-id': data['id'],
});
-
+
+ var url = data['url'] ? data['url'] : openobject.http.getURL('/openerp/attachment/get', {'record': data['id']});
+
jQuery([jQuery('<a>', {
'rel': 'external',
- 'href': openobject.http.getURL('/openerp/attachment/get', {
- 'record': data['id']
- }),
+ 'href': url,
'class': 'attachment-file'
}).text(data['name']), jQuery('<span>|</span>'), jQuery("<a href='#' class='close'>Close</a>")]).appendTo(attachment_line);
-
+
jQuery('#attachments').append(attachment_line);
+
+ // For piratepad Links
+ if(data['url']) {
+ jQuery('#attachments [id="'+'attachment_item_'+data['id']+'"] a').attr('target', '_blank');
+ }
form.resetForm();
form.hide();
}
@@ -1182,6 +1187,20 @@
});
}
+function setupPads(){
+ var padForm = jQuery('#pad-box').hide();
+ jQuery('#sidebar_pad_ok').bind('click', function(){
+ padForm.submit();
+ });
+ jQuery('#add-pad').click(function(e){
+ padForm.show();
+ e.preventDefault();
+ });
+ padForm.bind({
+ submit: createAttachment
+ });
+}
+
function error_popup(obj){
try {
var error_window = window.open("", "error", "status=1, scrollbars=yes, width=550, height=400");
=== modified file 'addons/openerp/widgets/templates/sidebar.mako'
--- addons/openerp/widgets/templates/sidebar.mako 2010-10-13 12:26:08 +0000
+++ addons/openerp/widgets/templates/sidebar.mako 2010-10-14 09:24:48 +0000
@@ -43,14 +43,15 @@
% endif
% if view_type == 'form':
<div class="sideheader-a">
- <a href="#" id="add-attachment" class="button-a" style="line-height: 13px;">${_("Add")}</a>
+ <a href="#" id="add-attachment" class="button-a" style="right:40px;">${_("Add")}</a>
+ <a href="#" id="add-pad" class="button-a" >${_("Pad")}</a>
<h2>${_("Attachments")}</h2>
</div>
<ul id="attachments" class="attachments-a">
% for attachment in attachments:
<!-- don't forget to also change jquery template in form.js/createAttachment -->
<li id="attachment_item_${attachment['id']}" data-id="${attachment['id']}">
- <a class="attachment-file" rel="external"
+ <a class="attachment-file" rel="external" target="_blank"
href="${attachment['url'] or py.url('/openerp/attachment/get', record=attachment['id'])}">
${attachment['name']}
</a>
@@ -66,6 +67,21 @@
<input type="file" id="sidebar_attachments_datas" class="binary"
name="datas" kind="binary" size="5"/>
</form>
+ <form id="pad-box" action="/openerp/attachment/save_pad" method="post">
+ <label for="sidebar_pad_datas">${_("Name")}:</label>
+ <table width="100%">
+ <tr>
+ <td width=60% style="padding-right:8px;">
+ <input type="text" id="sidebar_pad_datas" class="binary"
+ name="pad_name" kind="url" size="5" />
+ </td>
+ <td>
+ <a href="#" id="sidebar_pad_ok" class="button-a">${_("Ok")}</a>
+ </td>
+ </tr>
+ </table>
+ </form>
+
% endif
<div class="sideheader-a">
@@ -116,6 +132,7 @@
<script type="text/javascript">
jQuery(document).ready(function() {
setupAttachments();
+ setupPads();
jQuery('#sidebar_view_log').fancybox();
});
</script>
Follow ups