def wrapped(self): """Decorator wrapper method. """ link_id = clean_link_id(field_name)(self) user_entity = User.get_by_key_name(link_id) if user_entity: # user exists already raise forms.ValidationError("There is already a user with this link id.") return link_id
def wrapped(self): """Decorator wrapper method. """ link_id = clean_link_id(field_name)(self) user_entity = User.get_by_key_name(link_id) if not user_entity: # user does not exist raise forms.ValidationError("This user does not exist.") return user_entity
def seed_survey_answer(request, i): """Returns the properties of a student's survey answers. """ ensureUser() survey = Survey.get_by_key_name('program/google/gsoc2009/survey_%d' % i) user = User.get_by_key_name('user_%d' % i) #student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) if not user: raise Error('Run seed_many for at least %d users first.' % i) if not survey: raise Error('Run seed_many for at least %d surveys first.' % i) all_properties = [] scope_path = 'google/gsoc2009/' checkbox = 'PickMultipleQ Checkbox 2 for survey_%d' % i # pylint: disable=E1103 for i in range(5): #student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) user = User.get_by_key_name('user_%d' % i) properties = { 'scope_path': scope_path, 'user': user, 'project': None, '_survey': survey, '_fields': { 'ShortQ': 'Test', 'SelectionQ': u'SelectionQ Option 2', 'LongQ': 'Long answer... \n' * 10, 'PickMultipleQ': checkbox, } } all_properties.append(properties) return all_properties
def seed_survey_answer(request, i): """Returns the properties of a student's survey answers. """ ensureUser() survey = Survey.get_by_key_name('program/google/gsoc2009/survey_%d' % i) user = User.get_by_key_name('user_%d' % i) #student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) if not user: raise Error('Run seed_many for at least %d users first.' % i) if not survey: raise Error('Run seed_many for at least %d surveys first.' % i) all_properties = [] scope_path = 'google/gsoc2009/' checkbox = 'PickMultipleQ Checkbox 2 for survey_%d' % i # pylint: disable=E1103 for i in range(5): #student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) user = User.get_by_key_name('user_%d' % i) properties = { 'scope_path': scope_path, 'user': user, 'project': None, '_survey': survey, '_fields': {'ShortQ':'Test', 'SelectionQ': u'SelectionQ Option 2', 'LongQ': 'Long answer... \n' * 10, 'PickMultipleQ': checkbox, } } all_properties.append(properties) return all_properties
def convert(self, email, same_user_id=False): account = users.User(email=email) properties = { 'account': account, 'key_name': self.link_id, 'link_id': self.link_id, 'name': 'Test user', 'status': 'valid', } user = seeder_logic.seed(User, properties) if same_user_id: user = User.get_by_key_name(self.link_id) user.user_id = user.account.user_id() user.put() return convert_user.convert_user_txn(user.key())
def seed_student_proposal(request, i): """Returns the properties of a new student proposal. """ ensureUser() org = GSoCOrganization.get_by_key_name('google/gsoc2009/org_%d' % i) mentor = GSoCMentor.get_by_key_name('google/gsoc2009/org_%d/mentor' % i) user = User.get_by_key_name('user_%d' % i) student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) if not user: raise Error('Run seed_many for at least %d users first.' % i) if not student: raise Error('Run seed_many for at least %d students first.' % i) if not org: raise Error('Run seed_many for at least %d orgs first.' % i) if not mentor: raise Error('Run seed_many for at least %d mentors first.' % i) all_properties = [] # pylint: disable=E1103 for i in range(random.randint(5, 20)): link_id = 'proposal_%s_%d' % (org.link_id, i) scope_path = 'google/gsoc2009/' + user.link_id properties = { 'link_id': link_id, 'scope_path': scope_path, 'scope': student, 'key_name': '%s/%s' % (scope_path, link_id), 'title': 'The Awesome Proposal %s %d' % (user.link_id, i), 'abstract': 'This is an Awesome Proposal, look at its awesomeness!', 'content': 'Sorry, too Awesome for you to read!', 'additional_info': 'http://www.zipit.com', 'mentor': mentor, 'status': 'pending', 'org': org, 'program': org.scope, } all_properties.append(properties) return all_properties
def seed_student_proposal(request, i): """Returns the properties of a new student proposal. """ ensureUser() org = GSoCOrganization.get_by_key_name('google/gsoc2009/org_%d' % i) mentor = GSoCMentor.get_by_key_name('google/gsoc2009/org_%d/mentor' % i) user = User.get_by_key_name('user_%d' % i) student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) if not user: raise Error('Run seed_many for at least %d users first.' % i) if not student: raise Error('Run seed_many for at least %d students first.' % i) if not org: raise Error('Run seed_many for at least %d orgs first.' % i) if not mentor: raise Error('Run seed_many for at least %d mentors first.' % i) all_properties = [] # pylint: disable=E1103 for i in range(random.randint(5, 20)): link_id = 'proposal_%s_%d' % (org.link_id, i) scope_path = 'google/gsoc2009/' + user.link_id properties = { 'link_id': link_id, 'scope_path': scope_path, 'scope': student, 'key_name': '%s/%s' % (scope_path, link_id), 'title': 'The Awesome Proposal %s %d' % (user.link_id, i), 'abstract': 'This is an Awesome Proposal, look at its awesomeness!', 'content': 'Sorry, too Awesome for you to read!', 'additional_info': 'http://www.zipit.com', 'mentor': mentor, 'status': 'pending', 'org': org, 'program': org.scope, } all_properties.append(properties) return all_properties
def seed_student(request, i): """Returns the properties for a new student entity. """ gsoc2009 = GSoCProgram.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_student(request, i): """Returns the properties for a new student entity. """ gsoc2009 = GSoCProgram.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 profileFromKwargs(self, profile_model): """Retrieves a profile from kwargs. Args: profile_model: The datastore model class """ key_name = self.data.kwargs['user'] self.data.url_user = User.get_by_key_name(key_name) if not self.data.url_user: raise NotFound('Requested user does not exist') fields = ['sponsor', 'program', 'user'] key_name = '/'.join(self.data.kwargs[i] for i in fields) self.data.url_profile = profile_model.get_by_key_name( key_name, parent=self.data.url_user) if not self.data.url_profile: raise NotFound('Requested user does not have a profile')
def checkAccess(self): self.data.proposer_user = User.get_by_key_name(self.data.kwargs['student']) fields = ['sponsor', 'program', 'student'] key_name = '/'.join(self.data.kwargs[i] for i in fields) self.data.proposer_profile = GSoCProfile.get_by_key_name( key_name, parent=self.data.proposer_user) if not self.data.proposer_profile: raise NotFound('Requested user does not exist') self.data.proposal = GSoCProposal.get_by_id( int(self.data.kwargs['id']), parent=self.data.proposer_profile) if not self.data.proposal: raise NotFound('Requested proposal does not exist') self.data.proposal_org = self.data.proposal.org self.check.canAccessProposalEntity() self.mutator.commentVisible()
def checkAccess(self): self.data.proposer_user = User.get_by_key_name( self.data.kwargs['student']) fields = ['sponsor', 'program', 'student'] key_name = '/'.join(self.data.kwargs[i] for i in fields) self.data.proposer_profile = GSoCProfile.get_by_key_name( key_name, parent=self.data.proposer_user) if not self.data.proposer_profile: raise NotFound('Requested user does not exist') self.data.proposal = GSoCProposal.get_by_id( int(self.data.kwargs['id']), parent=self.data.proposer_profile) if not self.data.proposal: raise NotFound('Requested proposal does not exist') self.data.proposal_org = self.data.proposal.org self.check.canAccessProposalEntity() self.mutator.commentVisible()
def assertUserEqual(self, email): user = User.get_by_key_name(self.link_id) self.assertEqual(email, user.account.email()) self.assertTrue(user.account.user_id()) self.assertEqual(user.account.user_id(), user.user_id)