Mercurial > hg > MPIWGWeb
changeset 260:4eddd388d490 new_pro_struct
more work on subproject thumbs.
author | casties |
---|---|
date | Thu, 07 Aug 2014 17:50:04 +0200 |
parents | 1a82c28266d4 |
children | 2028488642cf |
files | MPIWGDepartment.py MPIWGProjects.py css/mpiwg.css js/mpiwg.js zpt/project/edit_basic.zpt zpt/project/project_index_html.zpt zpt/www/main_template.zpt |
diffstat | 7 files changed, 87 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/MPIWGDepartment.py Wed Aug 06 16:55:11 2014 +0200 +++ b/MPIWGDepartment.py Thu Aug 07 17:50:04 2014 +0200 @@ -146,7 +146,7 @@ proj = pf.getProject(projectNumber=self.getProjectNumber()) return proj - def getProjects(self, count=0, active=0, archived=0, depthFirst=True): + def getProjects(self, count=0, active=0, archived=0, depthFirst=True, filter=None): """returns a list of projects of this department. active = 0 : all projects @@ -158,7 +158,7 @@ archived = 2 : archived projects """ pf = self.getMPIWGRoot().getProjectFolder() - projects = pf.getProjectsAsList(self.getProjectNumber(), active=active, archived=archived, depthFirst=depthFirst) + projects = pf.getProjectsAsList(self.getProjectNumber(), active=active, archived=archived, depthFirst=depthFirst, filter=filter) #logging.debug("getProjects projects=%s"%repr(projects)) if count > 0: return projects[:count]
--- a/MPIWGProjects.py Wed Aug 06 16:55:11 2014 +0200 +++ b/MPIWGProjects.py Thu Aug 07 17:50:04 2014 +0200 @@ -637,10 +637,10 @@ return tree.getAncestorsOf(self.getNumber()) - def getSubProjects(self, active=1): + def getSubProjects(self, active=1, filter=None): """returns a list of child projects""" tree = self.getProjectTree() - return [p for p in tree.getChildrenOf(self.getNumber()) if p.checkActive(active)] + return [p for p in tree.getChildrenOf(self.getNumber()) if (filter is None or filter(p)) and p.checkActive(active)] def getRelatedDigitalSources(self): @@ -1942,7 +1942,7 @@ return tree - def getProjectsAsList(self, start=None, active=1, archived=1, depthFirst=True): + def getProjectsAsList(self, start=None, active=1, archived=1, depthFirst=True, filter=None): """Return flattened list of projects, starting from start. active = 0 : all projects @@ -1963,7 +1963,8 @@ #logging.debug("getProjectsAsList: node=(%s,%s) pl=%s"%(node.key,node.value,repr(pl))) #logging.debug("getProjectsAsList: node=(%s,%s) pl=%s"%(node.key,node.value,[p.getNumber() for p in pl])) # return filtered list - return [p for p in pl if (p.checkActive(active) and p.checkArchived(archived))] + return [p for p in pl if ((filter is None or filter(p)) and p.checkActive(active) and p.checkArchived(archived))] + #return [p for p in pl if (p.checkActive(active) and p.checkArchived(archived))] def getProject(self, projectNumber=None):
--- a/css/mpiwg.css Wed Aug 06 16:55:11 2014 +0200 +++ b/css/mpiwg.css Thu Aug 07 17:50:04 2014 +0200 @@ -1513,6 +1513,21 @@ } /* + * sub row (between main and foot) + */ +#subrow { + display: table; +} +#subrow .leftbox { + border-top: 0; +} +#subrow .main { + min-width: 690px; + padding: 0 20px; + border-top: 0; +} + +/* * footer */ #footservices {
--- a/js/mpiwg.js Wed Aug 06 16:55:11 2014 +0200 +++ b/js/mpiwg.js Thu Aug 07 17:50:04 2014 +0200 @@ -38,9 +38,6 @@ $content.animate({'left':'-='+settings.scrollBy}, 'fast'); }).css('cursor', 'pointer'); }); - - - }; }(jQuery));
--- a/zpt/project/edit_basic.zpt Wed Aug 06 16:55:11 2014 +0200 +++ b/zpt/project/edit_basic.zpt Thu Aug 07 17:50:04 2014 +0200 @@ -37,19 +37,19 @@ <tr> <td>Started at:</td> <td><input tal:attributes="name python:'startedAt'; - value python:here.getStartedAt()" type="text" len="15" /> + value python:here.getStartedAt()" type="text" size="10" /> (format dd.mm.yyyy or mm.yyyy or yyyy)</td> </tr> <tr> <td>Completed at:</td> <td><input tal:attributes="name python:'completedAt'; value python:here.getCompletedAt()" - type="text" len="15" /> (format dd.mm.yyyy or mm.yyyy or yyyy)</td> + type="text" size="10" /> (format dd.mm.yyyy or mm.yyyy or yyyy)</td> </tr> <tr> <td>Type of project page:</td> <td><input name="projectType" tal:attributes="value here/getProjectType" - type="text" len="15" /></td> + type="text" size="20" /></td> </tr> </table>
--- a/zpt/project/project_index_html.zpt Wed Aug 06 16:55:11 2014 +0200 +++ b/zpt/project/project_index_html.zpt Thu Aug 07 17:50:04 2014 +0200 @@ -9,7 +9,23 @@ <tal:block tal:define="global proBaseUrl string:$root/${secmap/research}/projects; global images here/getImageList; - global dept here/getDepartmentId;" /> + global dept here/getDepartmentId; + global pNum here/getNumber;" /> + <script tal:content="string:var sliderUrl = 'api/subProjects_slider_html?pro=$pNum';"> + </script> + <script> + $(window).on('load', function () { + $('.ajaxSlider').each(function () { + var $this = $(this); + $this.AjaxSlider({ + dataUrl : sliderUrl, + dataSel : 'div.center>div', + scrollBy: '130px', + }); + }); + initialize_swipe(".ajaxSlider"); + }); + </script> </metal:block> </head> <body> @@ -65,11 +81,11 @@ </div> <!-- sub-project thumbs --> - <div tal:define="projects python:here.getSubProjects();" - tal:attributes="class python:test(len(projects)>5, 'ajaxSlider', None);"> - <!-- <h2>Subprojects</h2> --><!-- <hr/> --> - <div class="row quintuple"> - <div class="col" tal:repeat="project python:projects[:4]"> + <!-- <div class="box"> + <div tal:define="projects python:here.getProjectsAsList(start=pNum, filter=lambda p:p.getNumber()!=pNum and p.getProjectType()=='Individual Project');" + tal:attributes="class python:test(len(projects)>3, 'ajaxSlider', None);"> + <div class="row triple"> + <div class="col" tal:repeat="project python:projects[:3]"> <div class="mini project" tal:define="url python:project.getUrl(baseUrl=proBaseUrl)"> <div class="thumb"> <a tal:attributes="href url"><img @@ -81,12 +97,13 @@ </a> </div> <div class="author" tal:content="python:project.getContent('xdata_01')"> - Matteo Valleriani, Jürgen Renn + Matteo Valleriani, Juergen Renn </div> </div> </div> </div><!-- /row --> - </div><!-- /item --> + <!-- </div><!-- /item --> + <!-- </div> --> </div><!-- /center --> <!-- right column --> @@ -253,5 +270,40 @@ </div> <!-- sidebar --> + <!-- subrow --> + <div id="subrow" metal:fill-slot="subrow"> + <div class="leftbox"></div> + <div class="main"> + <!-- sub-project thumbs --> + <div class="box"> + <div + tal:define="projects python:here.getProjectsAsList(start=pNum, filter=lambda p:p.getNumber()!=pNum and p.getProjectType()=='Individual Project');" + tal:attributes="class python:test(len(projects)>5, 'ajaxSlider', None);"> + <div class="row quintuple"> + <div class="col" tal:repeat="project python:projects[:5]"> + <div class="mini project" + tal:define="url python:project.getUrl(baseUrl=proBaseUrl)"> + <div class="thumb"> + <a tal:attributes="href url"><img + tal:attributes="src python:project.getThumbUrl(default=root+'/images/dummy_thumb.jpg')" /></a> + </div> + <div class="title"> + <a tal:attributes="href url" + tal:content="project/getLabel"> Mental Models in + the History of Knowledge </a> + </div> + <div class="author" + tal:content="python:project.getContent('xdata_01')"> + Matteo Valleriani, Jürgen Renn</div> + </div> + </div> + </div> + <!-- /row --> + </div> + <!-- /item --> + </div> + </div> + </div> + </body> </html> \ No newline at end of file
--- a/zpt/www/main_template.zpt Wed Aug 06 16:55:11 2014 +0200 +++ b/zpt/www/main_template.zpt Thu Aug 07 17:50:04 2014 +0200 @@ -100,6 +100,8 @@ <metal:block metal:define-slot="sidebar" /><!-- /sidebar --> </div><!-- /maincontent --> + + <metal:block metal:define-slot="subrow"/> <div id="footservices"> <div class="text">