Пример #1
0
def participate(request, experiment_id=None):
    participant = request.user.participant
    experiment = get_object_or_404(Experiment.objects.select_related('experiment_metadata', 'experiment_configuration'),
                                   pk=experiment_id,
                                   experiment_metadata=get_experiment_metadata())
    pgr = experiment.get_participant_group_relationship(participant)
    return render(request, experiment.participant_template, {
        'experiment': experiment,
        'participant_experiment_relationship': experiment.get_participant_experiment_relationship(participant),
        'participant_group_relationship': pgr,
        'experimentModelJson': dumps(get_view_model_dict(experiment, pgr)),
    })
Пример #2
0
def subjectpool_index(request):
    """
    Provides subject recruitment interface with all the active and past experiment sessions.
    """
    experimenter = request.user.experimenter
    es_list = ExperimentSession.objects.select_related("experiment_metadata").filter(creator=request.user)
    session_list = [session.to_dict() for session in es_list]
    experiment_metadata_list = [em.to_dict() for em in ExperimentMetadata.objects.bookmarked(experimenter)]
    potential_participants_count = Participant.objects.active().count()
    data = {
        "session_list": session_list,
        "experiment_metadata_list": experiment_metadata_list,
        "allEligibleParticipants": potential_participants_count,
        "potentialParticipantsCount": potential_participants_count,
    }
    return render(request, "subjectpool/index.html", {"view_model_json": dumps(data), "form": SessionInviteForm()})
Пример #3
0
def subjectpool_index(request):
    """
    Provides subject recruitment interface with all the active and past experiment sessions.
    """
    experimenter = request.user.experimenter
    es_list = ExperimentSession.objects.select_related('experiment_metadata').filter(creator=request.user)
    session_list = [session.to_dict() for session in es_list]
    experiment_metadata_list = [em.to_dict() for em in ExperimentMetadata.objects.bookmarked(experimenter)]
    potential_participants_count = Participant.objects.active().count()
    data = {
        'session_list': session_list,
        'experiment_metadata_list': experiment_metadata_list,
        'allEligibleParticipants': potential_participants_count,
        'potentialParticipantsCount': potential_participants_count,
    }
    return render(request, "subjectpool/index.html",
                  {"view_model_json": dumps(data), "form": SessionInviteForm()})
Пример #4
0
def participate(request, experiment_id=None):
    participant = request.user.participant
    logger.debug("handling participate request for %s and experiment %s", participant, experiment_id)
    experiment = get_object_or_404(Experiment.objects.select_related('experiment_metadata',
                                                                     'experiment_configuration'),
                                   pk=experiment_id,
                                   experiment_metadata=get_experiment_metadata())
    if experiment.is_active:
        pgr = experiment.get_participant_group_relationship(participant)
        return render(request, experiment.participant_template, {
            'experiment': experiment,
            'participant_group_relationship': pgr,
            'group': pgr.group,
            'experimentModelJson': dumps(get_view_model_dict(experiment, pgr)),
        })
    else:
        messages.info(request, '%s has not been activated yet. Please try again later.' % experiment)
        return redirect('core:dashboard')
Пример #5
0
def participate(request, experiment_id=None):
    participant = request.user.participant
    experiment = get_object_or_404(
        Experiment.objects.select_related('experiment_metadata',
                                          'experiment_configuration'),
        pk=experiment_id,
        experiment_metadata=get_experiment_metadata())
    pgr = experiment.get_participant_group_relationship(participant)
    return render(
        request, experiment.participant_template, {
            'experiment':
            experiment,
            'participant_experiment_relationship':
            experiment.get_participant_experiment_relationship(participant),
            'participant_group_relationship':
            pgr,
            'experimentModelJson':
            dumps(get_view_model_dict(experiment, pgr)),
        })
Пример #6
0
def experimenter_index(request):
    """
    Provides experimenter subject recruitment interface with all active experiment sessions and past experiment
    sessions.
    """
    experimenter = request.user.experimenter
    data = ExperimentSession.objects.filter(creator=request.user)
    experiment_metadata_list = [em.to_dict() for em in ExperimentMetadata.objects.bookmarked(experimenter)]
    session_list = [session.to_dict() for session in data]
    potential_participants_count = Participant.objects.active().count()
    session_data = {
        "session_list": session_list,
        "experiment_metadata_list": experiment_metadata_list,
        'allEligibleParticipants': potential_participants_count,
        'potentialParticipantsCount': potential_participants_count,
    }
    form = SessionInviteForm()
    return render(request, "experimenter/subject-pool-index.html",
                  {"view_model_json": dumps(session_data), "form": form})
Пример #7
0
def participate(request, experiment_id=None):
    participant = request.user.participant

    logger.debug(
        "handling participate request for %s and experiment %s", participant, experiment_id)

    experiment = get_object_or_404(Experiment.objects.select_related('experiment_metadata', 'experiment_configuration'),
                                   pk=experiment_id)
    pgr = experiment.get_participant_group_relationship(participant)

    if experiment.experiment_metadata != get_experiment_metadata() or pgr.participant != request.user.participant:
        raise Http404

    return render(request, experiment.participant_template, {
        'experiment': experiment,
        'participant_experiment_relationship': experiment.get_participant_experiment_relationship(participant),
        'participant_group_relationship': pgr,
        'experimentModelJson': dumps(get_view_model_dict(experiment, pgr)),
    })
Пример #8
0
def participate(request, experiment_id=None):
    participant = request.user.participant
    logger.debug("handling participate request for %s and experiment %s",
                 participant, experiment_id)
    experiment = get_object_or_404(
        Experiment.objects.select_related('experiment_metadata',
                                          'experiment_configuration'),
        pk=experiment_id,
        experiment_metadata=get_experiment_metadata())
    if experiment.is_active:
        pgr = experiment.get_participant_group_relationship(participant)
        return render(
            request, experiment.participant_template, {
                'experiment': experiment,
                'participant_group_relationship': pgr,
                'group': pgr.group,
                'experimentModelJson': dumps(
                    get_view_model_dict(experiment, pgr)),
            })
    else:
        messages.info(
            request, '%s has not been activated yet. Please try again later.' %
            experiment)
        return redirect('core:dashboard')
Пример #9
0
 def to_json(self):
     return dumps(self.to_dict())
Пример #10
0
 def to_json(self):
     return dumps(self.to_dict())