def get_participant_links(self): participant_urls = [] room_base_url = add_params_to_url(reverse('assign_visitor_to_room'), {'room': self.name}) if self.has_participant_labels(): for label in self.get_participant_labels(): params = {'participant_label': label} if self.use_secure_urls: params['hash'] = make_hash(label) participant_url = add_params_to_url(room_base_url, params) participant_urls.append(participant_url) else: participant_urls = [room_base_url] return participant_urls
def test_missing_hash(self): br = self.browser url_without_hash = add_params_to_url(URL_PARTICIPANT_SECURE_URLS, {'participant_label': LABEL_REAL}) br.visit(url_without_hash) self.assertEqual(br.status_code, 404)
def get_context_data(self, **kwargs): context = super(PersistentLabURLs, self).get_context_data(**kwargs) # default session stuff default_session_base_url = self.request.build_absolute_uri( reverse('assign_visitor_to_default_session')) default_session_example_urls = [] for i in range(1, 20): data_urls = add_params_to_url( default_session_base_url, { 'participant_label': 'PC-{}'.format(i), 'access_code_for_default_session': settings.ACCESS_CODE_FOR_DEFAULT_SESSION }) default_session_example_urls.append(data_urls) global_singleton = GlobalSingleton.objects.get() default_session = global_singleton.default_session context.update({ 'default_session_example_urls': default_session_example_urls, 'access_code_for_default_session': (otree.constants_internal.access_code_for_default_session), 'participant_label': otree.constants_internal.participant_label, 'default_session': default_session, }) return context
def get_context_data(self, **kwargs): context = super(PersistentLabURLs, self).get_context_data(**kwargs) # default session stuff from otree.views.concrete import AssignVisitorToDefaultSession default_session_base_url = self.request.build_absolute_uri( AssignVisitorToDefaultSession.url() ) default_session_example_urls = [] for i in range(1, 20): data_urls = add_params_to_url( default_session_base_url, {otree.constants_internal.participant_label: 'P{}'.format(i)}) default_session_example_urls.append(data_urls) global_singleton = GlobalSingleton.objects.get() default_session = global_singleton.default_session context.update({ 'default_session_example_urls': default_session_example_urls, 'access_code_for_default_session': ( otree.constants_internal.access_code_for_default_session ), 'participant_label': otree.constants_internal.participant_label, 'default_session': default_session, }) return context
def get_context_data(self, **kwargs): context = super(PersistentLabURLs, self).get_context_data(**kwargs) # default session stuff default_session_base_url = self.request.build_absolute_uri( reverse('assign_visitor_to_default_session') ) default_session_example_urls = [] for i in range(1, 20): data_urls = add_params_to_url( default_session_base_url, { 'participant_label': 'PC-{}'.format(i), 'access_code_for_default_session': settings.ACCESS_CODE_FOR_DEFAULT_SESSION } ) default_session_example_urls.append(data_urls) global_singleton = GlobalSingleton.objects.get() default_session = global_singleton.default_session context.update({ 'default_session_example_urls': default_session_example_urls, 'access_code_for_default_session': ( otree.constants_internal.access_code_for_default_session ), 'participant_label': otree.constants_internal.participant_label, 'default_session': default_session, }) return context
def get_context_data(self, **kwargs): context = super(PersistentLabURLs, self).get_context_data(**kwargs) # default session stuff from otree.views.concrete import AssignVisitorToDefaultSession default_session_base_url = self.request.build_absolute_uri( AssignVisitorToDefaultSession.url()) default_session_example_urls = [] for i in range(1, 20): data_urls = add_params_to_url( default_session_base_url, {otree.constants_internal.participant_label: 'P{}'.format(i)}) default_session_example_urls.append(data_urls) global_singleton = GlobalSingleton.objects.get() default_session = global_singleton.default_session context.update({ 'default_session_example_urls': default_session_example_urls, 'access_code_for_default_session': (otree.constants_internal.access_code_for_default_session), 'participant_label': otree.constants_internal.participant_label, 'default_session': default_session, }) return context
def test_wrong_hash(self): url_wrong_hash = add_params_to_url(URL_PARTICIPANT_SECURE_URLS, { 'participant_label': LABEL_REAL, 'hash': 'fakehash' }) br = self.browser br.visit(url_wrong_hash) self.assertEqual(br.status_code, 404)
def test_wrong_hash(self): url_wrong_hash = add_params_to_url( URL_PARTICIPANT_SECURE_URLS, {'participant_label': LABEL_REAL, 'hash': 'fakehash'} ) br = self.browser br.visit(url_wrong_hash) self.assertEqual(br.status_code, 404)
def test_missing_hash(self): br = self.browser url_without_hash = add_params_to_url( URL_PARTICIPANT_SECURE_URLS, {'participant_label': LABEL_REAL} ) br.visit(url_without_hash) self.assertEqual(br.status_code, 404)
def get(self, request): assignment_id = self.request.GET.get('assignmentId') if assignment_id and assignment_id != 'ASSIGNMENT_ID_NOT_AVAILABLE': url_start = reverse('MTurkStart', args=(self.session.code,)) url_start = add_params_to_url(url_start, { 'assignmentId': self.request.GET['assignmentId'], 'workerId': self.request.GET['workerId']}) return HttpResponseRedirect(url_start) context = self.get_context_data() return self.render_to_response(context)
def get(self, request, *args, **kwargs): assignment_id = self.request.GET["assignmentId"] if "assignmentId" in self.request.GET else "" if assignment_id and assignment_id != "ASSIGNMENT_ID_NOT_AVAILABLE": url_start = reverse("MTurkStart", args=(self.session.code,)) url_start = add_params_to_url( url_start, {"assignmentId": self.request.GET["assignmentId"], "workerId": self.request.GET["workerId"]} ) return HttpResponseRedirect(url_start) context = super(MTurkLandingPage, self).get_context_data(**kwargs) return self.render_to_response(context)
def get(self, request, *args, **kwargs): assignment_id = self.request.GET.get('assignmentId') if assignment_id and assignment_id != 'ASSIGNMENT_ID_NOT_AVAILABLE': url_start = reverse('MTurkStart', args=(self.session.code,)) url_start = add_params_to_url(url_start, { 'assignmentId': self.request.GET['assignmentId'], 'workerId': self.request.GET['workerId']}) return HttpResponseRedirect(url_start) context = self.get_context_data() return self.render_to_response(context)
def get(self, request, *args, **kwargs): assignment_id = (self.request.GET['assignmentId'] if 'assignmentId' in self.request.GET else '') if assignment_id and assignment_id != 'ASSIGNMENT_ID_NOT_AVAILABLE': url_start = reverse('MTurkStart', args=(self.session.code, )) url_start = add_params_to_url( url_start, { 'assignmentId': self.request.GET['assignmentId'], 'workerId': self.request.GET['workerId'] }) return HttpResponseRedirect(url_start) context = super(MTurkLandingPage, self).get_context_data(**kwargs) return self.render_to_response(context)
def get_participant_urls(self, request): participant_urls = [] room_base_url = reverse('AssignVisitorToRoom', args=(self.name, )) room_base_url = request.build_absolute_uri(room_base_url) if self.has_participant_labels(): for label in self.get_participant_labels(): params = {'participant_label': label} if self.use_secure_urls: params['hash'] = make_hash(label) participant_url = add_params_to_url(room_base_url, params) participant_urls.append(participant_url) return participant_urls
def get_participant_urls(self, request): participant_urls = [] room_base_url = reverse('AssignVisitorToRoom', args=(self.name,)) room_base_url = request.build_absolute_uri(room_base_url) if self.has_participant_labels(): for label in self.get_participant_labels(): params = {'participant_label': label} if self.use_secure_urls: params['hash'] = make_hash(label) participant_url = add_params_to_url(room_base_url, params) participant_urls.append(participant_url) return participant_urls
def test_has_session_but_missing_hash(self): create_session( 'simple', # make it 6 so that we can test if the participant is reassigned # if they open their start link again (1/6 chance) num_participants=1, room_name=settings.ROOM_WITH_SECURE_URLS_NAME, ) url_without_hash = add_params_to_url(URL_PARTICIPANT_SECURE_URLS, {'participant_label': LABEL_REAL}) br = self.browser br.visit(url_without_hash) self.assertEqual(br.status_code, 404)
def test_has_session_but_missing_hash(self): create_session( 'simple', # make it 6 so that we can test if the participant is reassigned # if they open their start link again (1/6 chance) num_participants=1, room_name=settings.ROOM_WITH_SECURE_URLS_NAME, ) url_without_hash = add_params_to_url( URL_PARTICIPANT_SECURE_URLS, {'participant_label': LABEL_REAL} ) br = self.browser br.visit(url_without_hash) self.assertEqual(br.status_code, 404)