220 |
220 |
221 for proposal in proposals: |
221 for proposal in proposals: |
222 fields = { |
222 fields = { |
223 'link_id': 't%i' % (int(time.time()*100)), |
223 'link_id': 't%i' % (int(time.time()*100)), |
224 'scope_path': proposal.org.key().id_or_name(), |
224 'scope_path': proposal.org.key().id_or_name(), |
225 'scope': proposal.organization, |
225 'scope': proposal.org, |
226 'program': proposal.program, |
226 'program': proposal.program, |
227 'student': proposal.scope, |
227 'student': proposal.scope, |
228 'title': proposal.title, |
228 'title': proposal.title, |
229 'abstract': proposal.abstract, |
229 'abstract': proposal.abstract, |
230 'mentor': proposal.mentor, |
230 'mentor': proposal.mentor, |
231 } |
231 } |
232 |
232 |
233 project = project_logic.updateOrCreateFromFields(fields) |
233 project = project_logic.updateOrCreateFromFields(fields, silent=True) |
234 |
234 |
235 fields = { |
235 fields = { |
236 'status':'accepted', |
236 'status':'accepted', |
237 } |
237 } |
238 proposal_logic.updateEntityProperties(proposal, fields) |
238 |
|
239 proposal_logic.updateEntityProperties(proposal, fields, silent=True) |
239 |
240 |
240 fields = { |
241 fields = { |
241 'status': ['new', 'pending', 'invalid'], |
242 'status': ['new', 'pending'], |
242 'org': org, |
243 'org': org, |
243 } |
244 } |
244 |
245 |
245 query = proposal_logic.getQueryForFields(filter) |
246 querygen = lambda: proposal_logic.getQueryForFields(fields) |
246 proposals = interactive.deepFetch(query) |
247 proposals = [i for i in interactive.deepFetch(querygen)] |
|
248 |
|
249 print "rejecting %d proposals" % len(proposals) |
247 |
250 |
248 fields = { |
251 fields = { |
249 'status': 'rejected', |
252 'status': 'rejected', |
250 } |
253 } |
251 |
254 |
252 for proposal in proposals: |
255 for proposal in proposals: |
253 proposal_logic.updateEntityProperties(proposal, fields) |
256 proposal_logic.updateEntityProperties(proposal, fields, silent=True) |
254 |
257 |
255 |
258 |
256 def loadPickle(name): |
259 def loadPickle(name): |
257 """Loads a pickle. |
260 """Loads a pickle. |
258 """ |
261 """ |
299 'getStudents': getEntities(Student), |
302 'getStudents': getEntities(Student), |
300 'getMentors': getEntities(Mentor), |
303 'getMentors': getEntities(Mentor), |
301 'getOrgAdmins': getEntities(OrgAdmin), |
304 'getOrgAdmins': getEntities(OrgAdmin), |
302 'getProps': getProps, |
305 'getProps': getProps, |
303 'countStudentsWithProposals': countStudentsWithProposals, |
306 'countStudentsWithProposals': countStudentsWithProposals, |
|
307 'convertProposals': convertProposals, |
304 'addFollower': addFollower, |
308 'addFollower': addFollower, |
305 'Organization': Organization, |
309 'Organization': Organization, |
306 'User': User, |
310 'User': User, |
307 'Student': Student, |
311 'Student': Student, |
308 'Mentor': Mentor, |
312 'Mentor': Mentor, |