Changeset 52

Show
Ignore:
Timestamp:
30/01/06 22:52:22
Author:
sjudge
Message:

Changes to the templates (adding 'recomended projects section') / equivalent functions in PloneSoftwareCenter?.py
More layout/presentation changes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/PloneSoftwareCenter/README.txt

    r22 r52  
    2323  - Can optionally use PloneHelpCenter to provide package-specific help 
    2424    containers. 
     25 
     26OATS VARIANT: 
     27 
     28  - Requires 
     29      - MasterSelectWidget: http://www.plone.org/products/masterselectwidget  
     30      - atreferencebrowserwidget http://www.plone.org/products/atreferencebrowserwidget  
     31 
    2532 
    2633Note for pre-1.0 users 
  • trunk/PloneSoftwareCenter/content/PSCProject.py

    r49 r52  
    7474            self.invokeFactory('PSCDocumentationFolder', 
    7575                               config.DOCUMENTATION_ID, title=config.DOCUMENTATION_ID) 
     76 
     77        help= getattr(self, config.DOCUMENTATION_ID) 
     78        help._setProperty("allow_discussion",0) 
    7679         
    7780        if not self.objectIds('PSCReleaseFolder'): 
  • trunk/PloneSoftwareCenter/content/PloneSoftwareCenter.py

    r46 r52  
    7575             
    7676    security.declarePrivate('_getContained') 
    77     def _getContained(self, states, category, CatType, oats_status, portal_type, limit=None,  
     77    def _getContained(self, states, category, CatType, oats_status, recommend, portal_type, limit=None,  
    7878                        sort_on='effective', sort_order='ascending'): 
    7979        """Get contained objects of type portal_type 
     
    9696 
    9797        if oats_status: 
    98                 query['getOats_status'] = oats_status 
     98                query['getOats_status'] = oats_status 
     99        if recommend: 
     100                query['isRecommended'] = recommend 
    99101 
    100102        if limit: 
     
    119121        else: 
    120122            oats_status=None 
    121         return self._getContained(states, None, None, oats_status, 'PSCProject', limit, sort_on='sortable_title', sort_order='ascending') 
     123        return self._getContained(states, None, None, oats_status, None, 'PSCProject', limit, sort_on='sortable_title', sort_order='ascending') 
     124 
     125    security.declareProtected(CMFCorePermissions.View, 'getTopForge') 
     126    def getTopForge(self, Forge, states=[], limit=None, sort_on=None): 
     127        """Get catalog brain of packages.""" 
     128        return self._getContained(states, None, None, 'OATSProject' , None, 'PSCProject', limit, sort_on, sort_order='ascending') 
    122129 
    123130    security.declareProtected(CMFCorePermissions.View, 'getRecommended') 
    124     def getRecommended(self, Forge, states=[], limit=None): 
     131    def getRecommended(self, Forge, states=[], limit=None, sort_on=None): 
    125132        """Get catalog brain of packages.""" 
    126        """ Need to implement Recommended as a Vocab."""  
     133        """ Need to implement Recommended as a Vocab????????."""  
    127134        if Forge=='Forge': 
    128135            oats_status='OATSProject' 
    129136        else: 
    130137            oats_status=None 
    131         return self._getContained(states, None, None, oats_status, 'PSCProject', limit, sort_on='sortable_title', sort_order='ascending') 
     138        return self._getContained(states, None, None, oats_status, 1,'PSCProject', limit, sort_on, sort_order='descending') 
    132139         
    133140    security.declareProtected(CMFCorePermissions.View, 'getPackagesByCategory') 
     
    139146        else: 
    140147            oats_status=None 
    141         return self._getContained(states, category, CatType, oats_status, 'PSCProject', limit, sort_on='sortable_title', sort_order='ascending') 
     148        return self._getContained(states, category, CatType, oats_status, None,'PSCProject', limit, sort_on='sortable_title', sort_order='ascending') 
    142149 
    143150    security.declareProtected(CMFCorePermissions.View, 'getReleases') 
     
    153160        else: 
    154161            oats_status=None             
    155         return self._getContained(states, category, CatType, oats_status, 'PSCelease', limit, sort_on='sortable_title', sort_order='ascending') 
     162        return self._getContained(states, category, CatType, oats_status, None,'PSCelease', limit, sort_on='sortable_title', sort_order='ascending') 
    156163 
    157164    security.declareProtected(CMFCorePermissions.View, 'getCategoriesToList')  
  • trunk/PloneSoftwareCenter/content/schemata.py

    r49 r52  
    557557        searchable=1, 
    558558        default=0, 
     559        index='KeywordIndex:schema', 
    559560        write_permission=CMFCorePermissions.ReviewPortalContent, 
    560561        widget=BooleanWidget( 
  • trunk/PloneSoftwareCenter/skins/plonesoftwarecenter/listing.pt

    r49 r52  
    2121                    Forge python:request.traverse_subpath and request.traverse_subpath[0] or nothing;"> 
    2222 
    23         <tal:projects define="packages python:here.getPackages(Forge)"> 
    24          
    25             <div metal:use-macro="here/document_actions/macros/document_actions"> 
     23       <div metal:use-macro="here/document_actions/macros/document_actions"> 
    2624              Document actions (print, sendto etc) 
    2725            </div> 
     26             
     27        <h2 class="documentDescription" tal:condition="python:Forge!='Forge'"  > 
     28        Recommended software. 
     29        </h2> 
     30        <h2 class="documentDescription" tal:condition="python:Forge=='Forge'"> 
     31        Recommended projects on the Forge. 
     32        </h2> 
     33 
     34        <tal:recommended define="packages python:here.getRecommended(Forge, None, 5, 'effective')"> 
     35         
     36            <tal:nopackages condition="not:nocall:packages"> 
     37                <div class="discreet" i18n:translate="no_packages_found"> 
     38                    No recommended software on the site at the moment! 
     39                </div> 
     40            </tal:nopackages> 
     41         
     42            <tal:packages condition="nocall:packages"> 
     43                 
     44                 <dl> 
     45                  <tal:package tal:repeat="package packages"> 
     46                    <dt tal:condition="here/getLogo| nothing"> 
     47                      <a tal:attributes="href package/getURL"> 
     48                      <img tal:replace="structure here/getLogo" /> 
     49                      </a>  
     50                   </dt> 
     51                   <dt tal:condition="not: package/getLogo| nothing"> 
     52                      <a tal:attributes="href package/getURL"> 
     53                      <img tal:replace="structure here/product_icon.gif" /> 
     54                      </a> 
     55                   </dt>                    
     56                   <dt> 
     57                   <a tal:attributes="href package/getURL" tal:content="package/Title">Title</a>        
     58                   </dt>                       
     59                    <dd tal:content="package/Description">Description</dd> 
     60                  </tal:package> 
     61                </dl> 
     62            </tal:packages> 
     63 
     64        </tal:recommended> 
     65 
     66        <p> </p> 
     67        <h2 class="documentDescription" tal:condition="python:Forge!='Forge'"  > 
     68        Full listing of software. 
     69        </h2> 
     70        <h2 class="documentDescription" tal:condition="python:Forge=='Forge'"> 
     71        Full listing of software hosted on the OATS Forge. 
     72        </h2> 
     73 
     74        <tal:projects define="packages python:here.getPackages(Forge)"> 
    2875         
    2976            <tal:nopackages condition="not:nocall:packages"> 
     
    3481         
    3582            <tal:packages condition="nocall:packages"> 
    36                 <p> </p> 
    37                 <h2 class="documentDescription" tal:condition="python:Forge!='Forge'"  > 
    38                 Full listing of software. 
    39                 </h2> 
    40                 <h2 class="documentDescription" tal:condition="python:Forge=='Forge'"> 
    41                 Full listing of software hosted on the OATS Forge. 
    42                 </h2> 
     83 
    4384                 
    4485                <h3  tal:condition="python:Forge!='Forge'"> 
     
    80121        </tal:projects> 
    81122 
     123 
    82124    </div> 
    83125     
  • trunk/PloneSoftwareCenter/skins/plonesoftwarecenter/oats_view.pt

    r48 r52  
    8282    </form> 
    8383 
    84     <form> 
    8584    <fieldset> 
    8685      <ul> 
     
    132131        </ul> 
    133132      </fieldset> 
    134       </form> 
    135133                                                               
     134    <fieldset> 
     135         
     136        <legend i18n:translate="legend_recent_recommended">Recent recommended software</legend> 
     137         
     138        <tal:recommended define="packages python:here.getRecommended(None, None, 5, 'effective')"> 
     139         
     140            <tal:nopackages condition="not:nocall:packages"> 
     141                <div class="discreet" i18n:translate="no_packages_found"> 
     142                    No recommended software on the site at the moment! 
     143                </div> 
     144            </tal:nopackages> 
     145         
     146            <tal:packages condition="nocall:packages"> 
     147                 
     148                 <dl> 
     149                  <tal:package tal:repeat="package packages"> 
     150                    <dt tal:condition="here/getLogo| nothing"> 
     151                      <a tal:attributes="href package/getURL"> 
     152                      <img tal:replace="structure here/getLogo" /> 
     153                      </a>  
     154                   </dt> 
     155                   <dt tal:condition="not: package/getLogo| nothing"> 
     156                      <a tal:attributes="href package/getURL"> 
     157                      <img tal:replace="structure here/product_icon.gif" /> 
     158                      </a> 
     159                   </dt>                    
     160                   <dt> 
     161                   <a tal:attributes="href package/getURL" tal:content="package/Title">Title</a>        
     162                   </dt>                       
     163                    <dd tal:content="package/Description">Description</dd> 
     164                  </tal:package> 
     165                </dl> 
     166            </tal:packages> 
     167 
     168        </tal:recommended> 
     169 
     170    </fieldset> 
     171  
     172    <div class="documentByLine"> 
     173    <a class="link-plain" href="http://oatsoft.org/Software/OatsSoftwareRepository">OATS Software Repository</a> - powered by <a class="link-plain" href="http://plone.org/products/plonesoftwarecenter">Plone Software Center</a> 
     174    </div> 
     175 
    136176    <form style="float: right" 
    137177          action="createObject" 
     
    146186               /> 
    147187    </form> 
    148  
    149188    <form style="float: right" 
    150189          tal:condition="python: not user.has_permission('Add portal content', context) and mtool.isAnonymousUser()" 
     
    161200    </form> 
    162201 
    163  
    164  
    165   
    166     <div class="documentByLine"> 
    167     <a class="link-plain" href="http://oatsoft.org/Software/OatsSoftwareRepository">OATS Software Repository</a> - powered by <a class="link-plain" href="http://plone.org/products/plonesoftwarecenter">Plone Software Center</a> 
    168     </div> 
    169  
    170202  </div> 
    171203 
  • trunk/PloneSoftwareCenter/skins/plonesoftwarecenter/psc_project_view.pt

    r46 r52  
    175175 
    176176        <div class="visualClear"></div> 
     177            <div> 
     178                <h3> Programmers </h3> 
     179                <p> Interested in helping to devlop this project?  Go to the <a href="" tal:attributes="href string:$here_url/forge_view">forge page</a> for more information. </p> 
     180            </div> 
     181 
     182        <div class="visualClear"></div> 
     183         
     184        <div metal:use-macro="here/document_relateditems/macros/relatedItems"> 
     185            show related items if they exist 
     186        </div> 
     187         
     188        <div class="visualClear"></div> 
    177189 
    178190        <div metal:use-macro="here/document_byline/macros/byline">