Index: /WAeUP_SRP/trunk/skins/waeup_academics/academics_content_lib_display_contents_column.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/academics_content_lib_display_contents_column.pt	(revision 305)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/academics_content_lib_display_contents_column.pt	(revision 305)
@@ -0,0 +1,123 @@
+<!-- a content_lib macro -->
+<!-- $Id: content_lib_display_contents_column.pt 34674 2006-03-23 08:57:49Z madarche $ -->
+
+<!-- Final display of items in a column using the given format -->
+
+<metal:block define-macro="display_contents_column">
+  <tal:block define="no_form no_form|nothing;
+                     site_wide site_wide|nothing;
+                     format python:format or 'detail';
+                     choosen_ids python:request.SESSION.get('choosen_ids', []);
+                     dummy python:request.SESSION.update({'choosen_ids': []});
+                     no_table python:format == 'detail_tab';
+                     use_radio use_radio|nothing;
+                     input_type python: test(use_radio, 'radio', 'checkbox');
+                     input_name python: test(use_radio, 'ids', 'ids:list');
+                     member here/portal_membership/getAuthenticatedMember;
+                     member_id member/id;
+                     is_local_manager python:member.has_role(
+                                     ('Manager', 'WorkspaceManager'), here);
+">
+  <div id="ajax_psm" style="display:none" tal:condition="python:not no_form">
+      ajax feedback
+  </div>
+  <table tal:condition="python: not no_table and batch_items" width="100%" cellspacing="0"
+    cellpadding="5" summary="content column layout" id="folder_content">
+    <tbody id="folder_content_tbody">
+    <tal:block tal:repeat="item batch_items">
+      <tal:block define="info python:here.getContentInfo(item, level=1, cpsmcat=cpsmcat);
+                         review_state python:info['review_state'];
+                         item_id item/getId|string:noid,
+                         proxy_creator item/Creator|info/creator"
+                 condition="python:review_state != 'draft'
+                                   or (review_state == 'draft' and proxy_creator == member_id)
+                                   or is_local_manager">
+      <tr valign="top" class="ajaxtd">
+        <td align="left" valign="top">
+          <div tal:attributes="id python:'draggable'+str(item_id);
+                               class python:test(not no_form and sort_by is None, 'draggable droppable', '');
+                               onmouseover python:test(not no_form and sort_by is None,
+                                                  'setCursor(this, \'move\')', '')">
+            <table summary="content">
+              <tr>
+                <td align="left" valign="top" style="width: 5px">
+                  <input type="" name="" value="" id="" class="noborder"
+                         tal:define="id item/getId"
+                         tal:condition="python:(review_state not in ('locked', 'draft')
+                                              or is_local_manager) and not no_form"
+                         tal:attributes="value
+                          python:site_wide and item.getContextUrl(utool=utool) or id;
+                          id python:'cb_' + id;
+                          checked python:id in choosen_ids;
+                          type python:input_type;
+                          name python:input_name;" />
+                </td>
+                <td>
+                  <metal:block
+                    use-macro="here/academics_content_lib_info_detail_tab/macros/info_detail_tabs" />
+                </td>
+              </tr>
+            </table>
+          </div>
+        </td>
+      </tr>
+      </tal:block>
+    </tal:block>
+   </tbody>
+  </table>
+  <tal:block condition="no_table">
+    <tal:block repeat="item batch_items">
+    <tal:block define="info python:here.getContentInfo(item, level=1, cpsmcat=cpsmcat);
+                        review_state python:info['review_state'];
+                        proxy_creator python:item.Creator();
+                        start repeat/item/start|nothing;
+                        end repeat/item/end|nothing">
+      <tal:block tal:condition="python:review_state!='draft' or (review_state=='draft' and proxy_creator == member_id) or is_local_manager">
+      <metal:block use-macro="here/academics_content_lib_info_detail_tab/macros/info_detail_tab" />
+      </tal:block>
+    </tal:block>
+    </tal:block>
+  <br />
+  </tal:block>
+  </tal:block>
+  <tal:block tal:replace="nothing">
+  XXX Deactivated for CPS 3.4.0, will be re-enabled for 3.4.1
+
+  <tal:block tal:condition="python:not no_form and sort_by is None"
+               tal:define="ajax_working_msg python:cpsmcat('ajax_working');
+                           ajax_working_msg python:ajax_working_msg.replace('\'', '\\\'');
+                           ajax_failing_msg python:cpsmcat('ajax_failing');
+                           ajax_failing_msg python:ajax_failing_msg.replace('\'', '\\\'')">
+
+        <script type="text/javascript" tal:content="structure string:
+                var editor = new CPSContainerEditor('draggable', 'droppable',
+                                                    'droppable-in', '${format}',
+                                                    '${ajax_working_msg}',
+                                                    'folder_content', 'ajax_psm',
+                                                    '${ajax_failing_msg}');
+               // hooking observers
+               if (treeview_editor) {
+                 loadScript('portletrefresher', '++resource++portletrefresher.js');
+
+                 function refresh(event_id, trigger_id) {
+
+                   portlet_refresher.refreshPortlet(trigger_id);
+                   editor.reload();
+                 }
+
+                if ($$('portlet_navigation_sections'))
+                    container_events.observeEvent('element_dropped', 'portlet_navigation_sections',
+                                                refresh);
+
+                if ($$('portlet_navigation_workspaces'))
+                    container_events.observeEvent('element_dropped', 'portlet_navigation_workspaces',
+                                                refresh);
+
+               }
+
+               ">
+        </script>
+
+  </tal:block>
+  </tal:block>
+</metal:block>
