def seed_org(unused_request, i): """Returns the properties for a new org entity. """ _, current_user = ensureUser() gsoc2009 = Program.get_by_key_name('google/gsoc2009') if not gsoc2009: raise Error('Run seed_db first') properties = { 'key_name': 'google/gsoc2009/org_%d' % i, 'link_id': 'org_%d' % i, 'name': 'Organization %d' % i, 'short_name': 'Org %d' % i, 'founder': current_user, 'scope_path': 'google/gsoc2009', 'scope': gsoc2009, 'status': 'active', 'email': '*****@*****.**' % i, 'home_page': 'http://code.google.com/p/soc', 'description': 'Melange, share the love!', 'license_name': 'Apache License', 'contact_street': 'Some Street', 'contact_city': 'Some City', 'contact_country': 'United States', 'contact_postalcode': '12345', 'phone': '1-555-BANANA', 'ideas': 'http://code.google.com/p/soc/issues', } return properties
def getProjects(self, survey, user): """Get projects linking user to a program. Serves as access handler (since no projects == no access). And retrieves projects to choose from (if mentors have >1 projects). params: survey = survey entity user = survey taking user """ this_program = survey.scope or Program.get_by_key_name(survey.scope_path) if 'mentor' in survey.taking_access: these_projects = self.getMentorProjects(user, this_program) elif 'student' in survey.taking_access: these_projects = self.getStudentProjects(user, this_program) logging.info(these_projects) if len(these_projects) == 0: return False return these_projects
def commonSeedArgs(self, request): _, current_user = ensureUser() gsoc2009 = Program.get_by_key_name('google/gsoc2009') if not gsoc2009: raise Error('Run seed_db first') return dict(current_user=current_user, gsoc2009=gsoc2009)
def commonSeedArgs(self, request): _, current_user = ensureUser() gsoc2009 = Program.get_by_key_name('google/gsoc2009') if not gsoc2009: raise Error('Run seed_db first') status = request.GET.get('status', 'pre-accepted') return dict(current_user=current_user, gsoc2009=gsoc2009, status=status)
def activateGrades(self, survey): """Activates the grades on a Grading Survey. TODO(James) Fix this Docstring params: survey = survey entity """ if survey.taking_access != "mentor evaluation": logging.error("Cannot grade survey %s with taking access %s" % (survey.key().name(), survey.taking_access)) return False program = survey.scope or Program.get_by_key_name(survey.scope_path) for project in program.student_projects.fetch(1000): this_record_group = SurveyRecordGroup.all().filter( "project = ", project).filter( "initial_status = ", project.status).get() if not this_record_group: logging.warning('neither mentor nor student has \ taken the survey for project %s' % project.key().name() ) continue if not this_record_group.mentor_record: # student has taken survey, but not mentor logging.warning('not continuing without mentor record...') continue status_options = PROJECT_STATUSES.get(project.status) if not status_options: logging.warning('unable to find status options for project \ status %s' % project.status) continue new_project_grade = this_record_group.mentor_record.grade new_project_status = status_options.get(new_project_grade) if getattr(this_record_group, 'final_status'): logging.warning('project %s record group should not \ yet have a final status %s' % ( project.key().name(), this_record_group.final_status ) ) continue # assign the new status to the project and surveyrecordgroup project.status = new_project_status this_record_group.final_status = new_project_status
def seed_student(request, i): """Returns the properties for a new student entity. """ gsoc2009 = Program.get_by_key_name('google/gsoc2009') user = User.get_by_key_name('user_%d' % i) if not gsoc2009: raise Error('Run seed_db first') if not user: raise Error('Run seed_many for at least %d users first.' % i) properties = { 'key_name':'google/gsoc2009/student_%d' % i, 'link_id': 'student_%d' % i, 'scope_path': 'google/gsoc2009', 'scope': gsoc2009, 'user' : user, 'given_name': 'Student %d' % i, 'surname': 'Last Name', 'name_on_documents': 'Test Example', 'email': '*****@*****.**', 'res_street': 'Some Street', 'res_city': 'Some City', 'res_state': 'Some State', 'res_country': 'United States', 'res_postalcode': '12345', 'phone': '1-555-BANANA', 'birth_date': db.DateProperty.now(), 'agreed_to_tos': True, 'school_name': 'School %d' % i, 'school_country': 'United States', 'major': 'Computer Science', 'degree': 'Undergraduate', 'expected_graduation': 2012, 'program_knowledge': 'Knowledge %d' % i, 'school': None, 'can_we_contact_you': True, } return properties
def seed_org_app(request, i): """Returns the properties for a new org proposal, """ _, current_user = ensureUser() status = request.GET.get('status', 'pre-accepted') gsoc2009 = Program.get_by_key_name('google/gsoc2009') if not gsoc2009: raise Error('Run seed_db first') properties = { 'key_name': 'google/gsoc2009/org_%d' % i, 'link_id': 'org_%d' % i, 'name': 'Org App %d' % i, 'scope_path': 'google/gsoc2009', 'scope': gsoc2009, 'status': status, 'applicant': current_user, 'home_page': 'http://www.google.com', 'email': '*****@*****.**', 'irc_channel': '#care', 'pub_mailing_list': 'http://groups.google.com', 'dev_mailing_list': 'http://groups.google.com', 'description': 'This is an awesome org!', 'why_applying': 'Because we can', 'member_criteria': 'They need to be awesome', 'license_name': 'Apache License, 2.0', 'ideas': 'http://code.google.com/p/soc/issues', 'contrib_disappears': 'We use google to find them', 'member_disappears': 'See above', 'encourage_contribs': 'We offer them cookies.', 'continued_contribs': 'We promise them a cake.', 'agreed_to_admin_agreement': True, } return properties