Mercurial > hg > MPIWGWeb
comparison MPIWGStaff.py @ 93:48e88706cfc3
department filter for getMemberList.
| author | casties |
|---|---|
| date | Thu, 16 May 2013 10:51:51 +0200 |
| parents | ab836d3f96dc |
| children | f4ac675b2031 |
comparison
equal
deleted
inserted
replaced
| 92:45c7b240ee93 | 93:48e88706cfc3 |
|---|---|
| 133 """returns if member key is active""" | 133 """returns if member key is active""" |
| 134 res = self.executeZSQL("select * from personal_www where lower(key) = %s and publish_the_data = 'yes'", [key.lower()]) | 134 res = self.executeZSQL("select * from personal_www where lower(key) = %s and publish_the_data = 'yes'", [key.lower()]) |
| 135 return len(res) > 0 | 135 return len(res) > 0 |
| 136 | 136 |
| 137 | 137 |
| 138 def getMemberList(self, sortBy='last_name', onlyCurrent=False, limit=0): | 138 def getMemberList(self, department=None, sortBy='last_name', onlyCurrent=False, limit=0): |
| 139 """Return the list of members. | 139 """Return the list of members. |
| 140 | 140 |
| 141 Returns a list of MPIWGStaffMember objects. | 141 Returns a list of MPIWGStaffMember objects. |
| 142 """ | 142 """ |
| 143 members = [] | 143 members = [] |
| 144 query = "select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes'" | 144 query = "select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes'" |
| 145 args = [] | |
| 146 | |
| 147 if department is not None: | |
| 148 query += " and department ilike %s" | |
| 149 args.append('%%%s%%'%department) | |
| 145 | 150 |
| 146 if onlyCurrent: | 151 if onlyCurrent: |
| 147 query += " and date_from < CURRENT_DATE" | 152 query += " and date_from < CURRENT_DATE" |
| 148 | 153 |
| 149 if sortBy == 'last_name': | 154 if sortBy == 'last_name': |
| 152 query += " order by date_from DESC" | 157 query += " order by date_from DESC" |
| 153 | 158 |
| 154 if limit > 0: | 159 if limit > 0: |
| 155 query += " limit %s"%int(limit) | 160 query += " limit %s"%int(limit) |
| 156 | 161 |
| 157 result = self.executeZSQL(query) | 162 result = self.executeZSQL(query, args) |
| 158 for res in result: | 163 for res in result: |
| 159 members.append(MPIWGStaffMember(self, dbresult=res)) | 164 members.append(MPIWGStaffMember(self, dbresult=res)) |
| 160 | 165 |
| 161 return members | 166 return members |
| 162 | 167 |
| 190 | 195 |
| 191 return pubs | 196 return pubs |
| 192 except: | 197 except: |
| 193 return [] | 198 return [] |
| 194 | 199 |
| 195 def getLastArrivals(self,limit=None): | |
| 196 """getlast arrivals""" | |
| 197 if not limit: | |
| 198 selectStr="select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes' and date_from < CURRENT_DATE order by date_from DESC" | |
| 199 else: | |
| 200 selectStr="select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes' and date_from < CURRENT_DATE order by date_from DESC limit %s"%limit | |
| 201 | |
| 202 res=self.members.executeZSQL(selectStr) | |
| 203 | |
| 204 return res | |
| 205 | |
| 206 | 200 |
| 207 def manage_addMPIWGStaffFolderForm(self): | 201 def manage_addMPIWGStaffFolderForm(self): |
| 208 """form for adding the project""" | 202 """form for adding the project""" |
| 209 pt=PageTemplateFile('zpt/addMPIWGStaffFolderForm', globals()).__of__(self) | 203 pt=PageTemplateFile('zpt/addMPIWGStaffFolderForm', globals()).__of__(self) |
| 210 return pt() | 204 return pt() |
