Changeset 421


Ignore:
Timestamp:
07/11/06 01:26:12 (13 years ago)
Author:
jukka
Message:

Worked on #481 which then collided with #461. There is now a nicer resource list macro, but it still has some issues when data source with collections doesn't have the metadata that searches provide. I'll continue with this tomorrow morning.

Location:
trunk/skins/lemill
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/skins/lemill/collection_view.cpt

    r377 r421  
    129129        </tal:isNotOwner> 
    130130        <tal:isOwner tal:condition="python:str(member)==str(here.Creator())"> 
    131 <form action="" method="post" tal:attributes="action string:${here/absolute_url}/${template/id};"> 
    132         <span metal:use-macro="here/resource_list_macro/macros/resources_list_for_owner" /> 
     131<form action="" method="post" tal:define="inCollection python:True" tal:attributes="action string:${here/absolute_url}/${template/id};"> 
     132        <span metal:use-macro="here/resource_list_macro/macros/resources_list" /> 
    133133             
    134134            <div id="delete_button_div" style="display:block"> 
  • trunk/skins/lemill/resource_list_macro.pt

    r415 r421  
     1 
     2 
     3 <metal:inside_table define-macro="MemberFolder_info"> 
     4     <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
     5         <span tal:define="real_object obj/getObject; 
     6                           piccy real_object/getCoverImage;"  tal:omit-tag=""> 
     7             <a href="" tal:attributes="href obj_url"> 
     8                 <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
     9             </a> 
     10         </span> 
     11     </td> 
     12     <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
     13         <a href="" tal:attributes="href obj_url"> 
     14             <img src="" tal:attributes="src python:'default_member.png'" height="120" width="160" /> 
     15         </a> 
     16     </td> 
     17     <td tal:define="real_obj obj/getObject; 
     18              link_pref link_pref | nothing; 
     19              language_skills obj/getLanguage_skills | nothing; 
     20              tags obj/getTags | nothing; 
     21              nicename obj/getNicename; 
     22              location_country obj/getLocation_country | nothing; 
     23              location_area obj/getLocation_area | nothing; 
     24              messenger real_obj/getMessenger1 | nothing; 
     25              "> 
     26         <h4> 
     27             <a href=""  
     28                 tal:attributes="href obj_url"> 
     29                 <span tal:replace="nicename"></span> 
     30             </a> 
     31             <a tal:condition="messenger" tal:attributes="href messenger"> 
     32                 <img src="discussionitem_icon.gif" /> 
     33             </a> 
     34         </h4> 
     35          <span tal:condition="location_country"  tal:omit-tag=""> 
     36             <div i18n:translate="label_country">Country: 
     37                 <a href="#" tal:attributes="href string:$here_url/search?getLocation_country=${location_country}" tal:content="location_country">Country</a> 
     38             </div> 
     39         </span> 
     40 
     41         <span tal:condition="location_area"  tal:omit-tag=""> 
     42             <div i18n:translate="label_area"  tal:omit-tag="">Area: 
     43                 <a href="#" tal:attributes="href string:$here_url/search?getLocation_area=${location_area}" tal:content="location_area">Area</a> 
     44             </div> 
     45         </span> 
     46         
     47         <span tal:condition="tags" tal:omit-tag=""> 
     48             <p i18:translate="label_tags">Tags: 
     49                 <span tal:repeat="tag python:tags[:20]"  tal:omit-tag=""> 
     50                    <a href="#" tal:attributes="href string:$here_url/search?getTags=${tag}" tal:content="tag">Tag</a> 
     51                     <span tal:condition="not:repeat/tag/end" tal:omit-tag="">, </span> 
     52                 </span> 
     53             </p> 
     54         </span> 
     55 
     56         <span tal:condition="language_skills"  tal:omit-tag=""> 
     57             <p i18:translate="label_language_skills">Preferred languages: 
     58                 <span tal:repeat="languagename language_skills" tal:omit-tag=""> 
     59                    <a href="#" tal:attributes="href string:$here_url/search?getLanguage_skills=${languagename}" tal:content="python:here.script_getPrettyLanguage(languagename)">Language</a> 
     60                     <span tal:condition="not:repeat/languagename/end" tal:omit-tag="">, </span> 
     61                 </span> 
     62             </p> 
     63         </span> 
     64     </td> 
     65 </metal:inside_table> 
     66 
     67 
     68 <metal:inside_table define-macro="GroupBlog_info"> 
     69 
     70     <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
     71         <span tal:define="real_object obj/getObject; 
     72                           piccy real_object/getCoverImage;" tal:omit-tag=""> 
     73             <a href="" tal:attributes="href obj_url"> 
     74                 <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
     75             </a> 
     76         </span> 
     77     </td> 
     78     <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
     79         <a href="" tal:attributes="href obj_url"> 
     80             <img src="" tal:attributes="src python:'default_group.png'" height="120" width="160" /> 
     81         </a> 
     82     </td> 
     83     <td tal:define="real_obj obj/getObject; 
     84              link_pref link_pref | None; 
     85              tags obj/getTags | None; 
     86              groupname obj/Title | obj/getId; 
     87              "> 
     88         <h4> 
     89             <a href=""  
     90                 tal:attributes="href obj_url"> 
     91                 <span tal:replace="groupname"></span> 
     92             </a> 
     93         </h4> 
     94         <span tal:condition="tags" tal:omit-tag=""> 
     95             <p i18:translate="label_tags">Tags: 
     96                 <span tal:repeat="tag python:tags[:20]" tal:omit-tag=""> 
     97                    <a href="#" tal:attributes="href string:$here_url/search?getTags=${tag}" tal:content="tag">Tag</a> 
     98                     <span tal:condition="not:repeat/tag/end" tal:omit-tag="">, </span> 
     99                 </span> 
     100             </p> 
     101         </span> 
     102     </td> 
     103 </metal:inside_table> 
     104 
     105 <metal:inside_table define-macro="Resource_info"> 
     106 
     107     <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
     108         <span tal:define="real_object obj/getObject; 
     109                           piccy real_object/getCoverImage;" tal:omit-tag=""> 
     110             <a href="" tal:attributes="href obj_url"> 
     111                 <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
     112             </a> 
     113         </span> 
     114     </td> 
     115     <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
     116         <a href="" tal:attributes="href obj_url"> 
     117             <img src="" tal:attributes="src python:'default_'+(obj.meta_type).lower()+'.png'" height="120" width="160" /> 
     118         </a> 
     119     </td> 
     120     <td> 
     121         <h4> 
     122             <a href=""  
     123                 tal:attributes="href obj_url"> 
     124                 <span tal:define="real_obj obj/getObject | obj; name obj/title | real_obj/pretty_title_or_id" tal:replace="name"></span> 
     125             </a> 
     126         </h4> 
     127         <div tal:condition="showAuthor" tal:omit-tag="">Author: <span tal:replace="obj/Creator"></span></div> 
     128         <div tal:define="real_obj obj/getObject; 
     129             field python:real_obj.Schemata()['metadata'].get('tags'); 
     130             link_pref link_pref | nothing" tal:on-error="string:"> 
     131             Tags:  
     132             <span metal:use-macro="python:real_obj.widget(field.getName(), mode='view')"></span> 
     133         </div> 
     134         <div>Language: <span tal:replace="python:here.script_getPrettyLanguage(obj.Language)"></span></div> 
     135     </td> 
     136 </metal:inside_table> 
     137 
    1138 
    2139 
     
    8145            obj_type obj/portal_type; 
    9146            url python:'%s?searchterm=%s'%(test(obj_type in use_view_action, obj_url+'/view', obj_url+'/'), searchterm); 
    10             showAuthor python:obj.review_state != 'draft' 
     147            review_state obj/review_state | nothing; 
     148            showAuthor python:review_state != 'draft'; 
     149            inCollection inCollection | nothing 
    11150            "> 
    12         <span tal:condition="python: obj_type=='MemberFolder'"> 
    13             <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
    14                 <span tal:define="real_object obj/getObject; 
    15                                   piccy real_object/getCoverImage;"> 
    16                     <a href="" tal:attributes="href obj_url"> 
    17                         <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
    18                     </a> 
    19                 </span> 
     151            <td tal:condition="inCollection" id="checkboxtd"> 
     152                <input type="checkbox" name="" id="" value="True" tal:attributes="name python:repeat['obj'].number(); id python:repeat['obj'].number()" /> 
    20153            </td> 
    21             <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
    22                 <a href="" tal:attributes="href obj_url"> 
    23                     <img src="" tal:attributes="src python:'default_member.png'" height="120" width="160" /> 
    24                 </a> 
     154            <tal:inside condition="python: obj_type=='MemberFolder'"> 
     155                <metal:tds use-macro="here/resource_list_macro/macros/MemberFolder_info" /> 
     156            </tal:inside> 
     157            <tal:inside condition="python: obj_type=='GroupBlog'">              
     158                <metal:tds use-macro="here/resource_list_macro/macros/GroupBlog_info" /> 
     159            </tal:inside> 
     160            <tal:inside condition="python: obj_type!='GroupBlog' and obj_type!='MemberFolder'">              
     161                <metal:tds use-macro="here/resource_list_macro/macros/Resource_info" /> 
     162            </tal:inside> 
     163 
     164            <td tal:condition="inCollection"> 
     165                <div><img src="arrowUp.gif" alt="" title="Up" onClick="" tal:attributes="onClick python:'javascript:location.href=\''+here.absolute_url()+'/script_collection_actions?action=MoveUp&id='+str(repeat['obj'].number())+'\''"></div> 
     166                 
     167                <div><img src="arrowDown.gif" alt="" title="Down" onClick="" tal:attributes="onClick python:'javascript:location.href=\''+here.absolute_url()+'/script_collection_actions?action=MoveDown&id='+str(repeat['obj'].number())+'\''"></div> 
    25168            </td> 
    26             <td tal:define="real_obj obj/getObject; 
    27                      link_pref link_pref | nothing; 
    28                      language_skills obj/getLanguage_skills | nothing; 
    29                      tags obj/getTags | nothing; 
    30                      nicename obj/getNicename; 
    31                      location_country obj/getLocation_country | nothing; 
    32                      location_area obj/getLocation_area | nothing; 
    33                      messenger real_obj/getMessenger1 | nothing; 
    34                      "> 
    35                 <h4> 
    36                     <a href=""  
    37                         tal:attributes="href obj_url"> 
    38                         <span tal:replace="nicename"></span> 
    39                     </a> 
    40                     <a tal:condition="messenger" tal:attributes="href messenger"> 
    41                         <img src="discussionitem_icon.gif" /> 
    42                     </a> 
    43                 </h4> 
    44                  <span tal:condition="location_country"> 
    45                     <div i18n:translate="label_country">Country: 
    46                         <a href="#" tal:attributes="href string:$here_url/search?getLocation_country=${location_country}" tal:content="location_country">Country</a> 
    47                     </div> 
    48                 </span> 
    49  
    50                 <span tal:condition="location_area"> 
    51                     <div i18n:translate="label_area">Area: 
    52                         <a href="#" tal:attributes="href string:$here_url/search?getLocation_area=${location_area}" tal:content="location_area">Area</a> 
    53                     </div> 
    54                 </span> 
    55                 
    56                 <span tal:condition="tags"> 
    57                     <p i18:translate="label_tags">Tags: 
    58                         <span tal:repeat="tag python:tags[:20]"> 
    59                            <a href="#" tal:attributes="href string:$here_url/search?getTags=${tag}" tal:content="tag">Tag</a> 
    60                             <span tal:condition="not:repeat/tag/end" tal:omit-tag="">, </span> 
    61                         </span> 
    62                     </p> 
    63                 </span> 
    64  
    65                 <span tal:condition="language_skills"> 
    66                     <p i18:translate="label_language_skills">Preferred languages: 
    67                         <span tal:repeat="languagename language_skills"> 
    68                            <a href="#" tal:attributes="href string:$here_url/search?getLanguage_skills=${languagename}" tal:content="python:here.script_getPrettyLanguage(languagename)">Language</a> 
    69                             <span tal:condition="not:repeat/languagename/end" tal:omit-tag="">, </span> 
    70                         </span> 
    71                     </p> 
    72                 </span> 
    73  
    74  
    75             </td> 
    76  
    77  
    78         </span> 
    79         <span tal:condition="python: obj_type=='GroupBlog'"> 
    80             <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
    81                 <span tal:define="real_object obj/getObject; 
    82                                   piccy real_object/getCoverImage;"> 
    83                     <a href="" tal:attributes="href obj_url"> 
    84                         <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
    85                     </a> 
    86                 </span> 
    87             </td> 
    88             <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
    89                 <a href="" tal:attributes="href obj_url"> 
    90                     <img src="" tal:attributes="src python:'default_group.png'" height="120" width="160" /> 
    91                 </a> 
    92             </td> 
    93             <td tal:define="real_obj obj/getObject; 
    94                      link_pref link_pref | None; 
    95                      tags obj/getTags | None; 
    96                      groupname obj/Title | obj/getId; 
    97                      "> 
    98                 <h4> 
    99                     <a href=""  
    100                         tal:attributes="href obj_url"> 
    101                         <span tal:replace="groupname"></span> 
    102                     </a> 
    103                 </h4> 
    104                 <span tal:condition="tags"> 
    105                     <p i18:translate="label_tags">Tags: 
    106                         <span tal:repeat="tag python:tags[:20]"> 
    107                            <a href="#" tal:attributes="href string:$here_url/search?getTags=${tag}" tal:content="tag">Tag</a> 
    108                             <span tal:condition="not:repeat/tag/end" tal:omit-tag="">, </span> 
    109                         </span> 
    110                     </p> 
    111                 </span> 
    112  
    113  
    114             </td> 
    115         </span> 
    116         <span tal:condition="python: obj_type!='GroupBlog' and obj_type!='MemberFolder'"> 
    117  
    118             <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
    119                 <span tal:define="real_object obj/getObject; 
    120                                   piccy real_object/getCoverImage;"> 
    121                     <a href="" tal:attributes="href obj_url"> 
    122                         <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
    123                     </a> 
    124                 </span> 
    125             </td> 
    126             <td tal:condition="not:obj/getHasCoverImage" tal:on-error="nothing"> 
    127                 <a href="" tal:attributes="href obj_url"> 
    128                     <img src="" tal:attributes="src python:'default_'+(obj.meta_type).lower()+'.png'" height="120" width="160" /> 
    129                 </a> 
    130             </td> 
    131             <td> 
    132                 <h4> 
    133                     <a href=""  
    134                         tal:attributes="href obj_url"> 
    135                         <span tal:define="real_obj obj/getObject | obj" tal:replace="real_obj/pretty_title_or_id"></span> 
    136                     </a> 
    137                 </h4> 
    138                 <div tal:condition="showAuthor">Author: <span tal:replace="obj/Creator"></span></div> 
    139                 <div tal:define="real_obj obj/getObject; 
    140                     field python:real_obj.Schemata()['metadata'].get('tags'); 
    141                     link_pref link_pref | nothing" tal:on-error="string:"> 
    142                     Tags:  
    143                     <span metal:use-macro="python:real_obj.widget(field.getName(), mode='view')"></span> 
    144                 </div> 
    145                 <div>Language: <span tal:replace="python:here.script_getPrettyLanguage(obj.Language)"></span></div> 
    146             </td> 
    147         </span> 
    148169 
    149170        </tal:block> 
     
    153174</metal:block> 
    154175 
    155 <metal:block define-macro="resources_list_for_owner"> 
    156176 
    157 <table class="resource_list"> 
    158     <tr tal:repeat="obj object_list"> 
    159         <tal:block define="obj_url obj/getURL | obj/absolute_url; 
    160             real_obj obj/getObject | obj; 
    161             obj_type obj/portal_type; 
    162             url python:'%s?searchterm=%s'%(test(obj_type in use_view_action, obj_url+'/view', obj_url+'/'), searchterm); 
    163         showAuthor python:obj.review_state!='draft' 
    164             "> 
    165         <td id="checkboxtd"> 
    166             <input type="checkbox" name="" id="" value="True" tal:attributes="name python:repeat['obj'].number(); id python:repeat['obj'].number()" /> 
    167         </td> 
    168         <td tal:condition="obj/getHasCoverImage" tal:on-error="nothing">  
    169             <span tal:define="piccy obj/getCoverImage;"> 
    170                 <a href="" tal:attributes="href obj_url"> 
    171                     <img src="" tal:attributes="src piccy/absolute_url" height="120" width="160" /> 
    172                 </a> 
    173             </span> 
    174         </td> 
    175         <td tal:condition="not: obj/getHasCoverImage" tal:on-error="nothing"> 
    176             <a href="" tal:attributes="href obj_url"> 
    177                 <img src="" tal:attributes="src python:'default_'+(obj.meta_type).lower()+'.png'" height="120" width="160" /> 
    178             </a> 
    179         </td> 
    180         <td> 
    181             <h4> 
    182                 <a href=""  
    183                     tal:attributes="href obj_url"> 
    184                     <span tal:replace="obj/pretty_title_or_id"></span> 
    185                 </a> 
    186             </h4> 
    187             <div tal:condition="showAuthor">Author: <span tal:replace="obj/Creator"></span></div> 
    188             <div>Tags: <span tal:replace="python:' '.join(obj.getTags)" tal:on-error="string:"></span></div> 
    189             <div>Language: <span tal:replace="python:here.script_getPrettyLanguage(obj.Language())"></span></div> 
    190         </td> 
    191         <td> 
    192             <div><img src="arrowUp.gif" alt="" title="Up" onClick="" tal:attributes="onClick python:'javascript:location.href=\''+here.absolute_url()+'/script_collection_actions?action=MoveUp&id='+str(repeat['obj'].number())+'\''"></div> 
    193              
    194             <div><img src="arrowDown.gif" alt="" title="Down" onClick="" tal:attributes="onClick python:'javascript:location.href=\''+here.absolute_url()+'/script_collection_actions?action=MoveDown&id='+str(repeat['obj'].number())+'\''"></div> 
    195         </td> 
    196         </tal:block> 
    197     </tr> 
    198 </table> 
    199  
    200 </metal:block> 
    201  
    202  
Note: See TracChangeset for help on using the changeset viewer.