예제 #1
0
 def filter_queryset(self, queryset):
     independent = self.request.query_params.get('independent', None)
     filters = {}
     if independent is not None and to_bool(independent):
         filters['experiment_group__isnull'] = True
     return queryset.filter(project=get_permissible_project(view=self),
                            **filters)
예제 #2
0
    def get_group(self):
        sequence = self.kwargs['sequence']
        # Get project and check permissions
        project = get_permissible_project(view=self)
        group = get_object_or_404(ExperimentGroup, project=project, sequence=sequence)

        return group
예제 #3
0
 def get_object(self):
     project = get_permissible_project(view=self)
     if project.has_notebook:
         self.permission_denied(
             self.request, 'The Project `{}` is currently a Notebook. '
             'You must stop it before uploading a new version of the code.')
     repo, _ = Repo.objects.get_or_create(project=project)
     return repo
예제 #4
0
 def get_experiment(self):
     # Get project and check access
     project = get_permissible_project(view=self)
     sequence = self.kwargs['experiment_sequence']
     experiment = get_object_or_404(Experiment,
                                    project=project,
                                    sequence=sequence)
     return experiment
예제 #5
0
 def filter_queryset(self, queryset):
     independent = self.request.query_params.get('independent', None)
     filters = {}
     if independent is not None and to_bool(independent):
         filters['experiment_group__isnull'] = True
     project = get_permissible_project(view=self)
     auditor.record(event_type=PROJECT_EXPERIMENTS_VIEWED,
                    instance=project,
                    actor_id=self.request.user.id)
     return queryset.filter(project=project, **filters)
예제 #6
0
    def get_group(self):
        sequence = self.kwargs['sequence']
        # Get project and check permissions
        project = get_permissible_project(view=self)
        group = get_object_or_404(ExperimentGroup,
                                  project=project,
                                  sequence=sequence)
        auditor.record(event_type=EXPERIMENT_GROUP_EXPERIMENTS_VIEWED,
                       instance=group,
                       actor_id=self.request.user.id)

        return group
예제 #7
0
 def get_object(self):
     project = get_permissible_project(view=self)
     if project.has_notebook:
         self.permission_denied(
             self.request,
             'The Project `{}` is currently running a Notebook. '
             'You must stop it before uploading a new version of the code.'.
             format(project.name))
     repo, created = Repo.objects.get_or_create(project=project)
     if not created and not os.path.isdir(repo.user_path):
         set_git_repo(repo)
     else:
         auditor.record(event_type=REPO_CREATED,
                        instance=repo,
                        actor_id=self.request.user.id)
     return repo
예제 #8
0
 def filter_queryset(self, queryset):
     return queryset.filter(project=get_permissible_project(view=self))
예제 #9
0
 def perform_create(self, serializer):
     serializer.save(user=self.request.user, project=get_permissible_project(view=self))
예제 #10
0
 def filter_queryset(self, queryset):
     project = get_permissible_project(view=self)
     auditor.record(event_type=PROJECT_EXPERIMENT_GROUPS_VIEWED,
                    instance=project,
                    actor_id=self.request.user.id)
     return queryset.filter(project=project)
예제 #11
0
 def get_object(self):
     return get_object_or_404(Repo,
                              project=get_permissible_project(view=self))
예제 #12
0
 def get_object(self):
     project = get_permissible_project(view=self)
     repo, _ = Repo.objects.get_or_create(project=project)
     return repo
예제 #13
0
파일: views.py 프로젝트: cho2405/polyaxon
 def get_object(self):
     return get_permissible_project(view=self)