Example #1
0
def DeleteExpectedOutput(user, output_id):
    output = get_object_or_404(ExpectedOutput, pk=output_id)

    if ToolPermissions.CanEdit(user, output.ToolVersion.Tool):
        output.delete()
    else:
        raise PermissionDenied
Example #2
0
def DeleteParameter(user, parameter_id):
    param = Parameter.objects.get(ParameterID=parameter_id)

    if ToolPermissions.CanEdit(user, param.ToolVersion.Tool):
        param.delete()
    else:
        raise PermissionDenied
Example #3
0
def AddParameterOption(user, parameter, text, value):
    if ToolPermissions.CanEdit(user, parameter.ToolVersion.Tool):
        return ParameterOption.objects.create(ParameterOptionText=text,
                                              ParameterOptionValue=value,
                                              Parameter=parameter)
    else:
        raise PermissionDenied
Example #4
0
def UpdateResources(user, version, resource_manager, resources):
    if ToolPermissions.CanEdit(user, version.Tool):
        #get existing resources
        existing = ToolVersionResource.objects.filter(
            ToolVersion=version, ResourceManager=resource_manager)

        #loop through new resources, add and update as required
        for r in resources:
            e = existing.filter(Key=r["Key"])
            if len(e) == 0:
                #resource doesn;t yet exist so add it
                ToolVersionResource.objects.create(
                    ToolVersion=version,
                    ResourceManager=resource_manager,
                    Key=r["Key"],
                    Value=r["Value"],
                    Label=r["Label"])
            else:
                #resource exists so update it
                e[0].Value = r["Value"]
                e[0].Label = r["Label"]
                e[0].save()

    else:
        raise PermissionDenied
Example #5
0
def UpdateParameterOption(user, parameter, option_id, text, value):
    option = parameter.ParameterOptions.get(pk=option_id)
    if ToolPermissions.CanEdit(user, parameter.ToolVersion.Tool):
        option.ParameterOptionText = text
        option.ParameterOptionValue = value
        option.save()
        return option
    else:
        raise PermissionDenied
Example #6
0
def UpdateTool(user, tool, ToolName, CategoryID, ToolDescription):
    if ToolPermissions.CanEdit(user, tool):
        tool.ToolName = ToolName
        tool.Category_id = CategoryID
        tool.ToolDescription = ToolDescription
        tool.save()
        return tool
    else:
        raise PermissionDenied
Example #7
0
def CreateFile(user, ToolID, path):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        if os.path.exists(path) and os.path.isfile(path):
            raise Exception("Cannot create file with this name. File already exists.")
        
        File.print_to_file(path, '', permissions=0755)
    else:
        raise PermissionDenied
Example #8
0
def UpdateToolVersion(user, version, ShortDescription, LongDescription,
                      Command):
    if ToolPermissions.CanEdit(user, version.Tool):
        version.ShortDescription = ShortDescription
        version.LongDescription = LongDescription
        version.Command = Command
        version.save()
        return version
    else:
        raise PermissionDenied
Example #9
0
def AddExpectedOutput(user, tool, output_name, file_name, file_type_id):
    version = ToolVersions.GetToolVersion(tool, "dev")

    if ToolPermissions.CanEdit(user, tool):
        return ExpectedOutput.objects.create(OutputName=output_name,
                                             FileName=file_name,
                                             FileType_id=file_type_id,
                                             ToolVersion=version)
    else:
        raise PermissionDenied
Example #10
0
def CopyOptions(user, old_parameter, new_parameter):
    if ToolPermissions.CanEdit(user, old_parameter.ToolVersion.Tool):
        for old_option in old_parameter.ParameterOptions.all():
            option = deepcopy(old_option)

            option.ParameterOptionID = None
            option.Parameter = new_parameter

            option.save()
    else:
        raise PermissionDenied
Example #11
0
def UpdateExpectedOutput(user, output_id, output_name, file_name,
                         file_type_id):
    output = get_object_or_404(ExpectedOutput, pk=output_id)

    if ToolPermissions.CanEdit(user, output.ToolVersion.Tool):
        output.OutputName = output_name
        output.FileName = file_name
        output.FileType_id = file_type_id
        output.save()

        return output
    else:
        raise PermissionDenied
Example #12
0
def UploadFiles(user, ToolID, path, file_dict):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        for k, v in file_dict.iteritems():
            for f in file_dict.getlist(k):
                with open(os.path.join(path, f.name), 'wb+') as destination:
                    for chunk in f.chunks():
                        destination.write(chunk)

                os.chmod(os.path.join(path, f.name), 0700)

        return os.listdir(path)
    else:
        raise PermissionDenied
Example #13
0
def AddParameter(user, tool, parameter_name, parent_id=None):
    version = ToolVersions.GetToolVersion(tool, "dev")
    index = len(version.ToolParameters.all())

    if ToolPermissions.CanEdit(user, tool):
        return Parameter.objects.create(ParameterName=parameter_name,
                                        Context="",
                                        InputBy="user",
                                        Value="",
                                        ParameterType_id=1,
                                        ToolVersion=version,
                                        ParameterIndex=index,
                                        ParentParameter_id=parent_id)
    else:
        raise PermissionDenied
Example #14
0
def UpdateParameter(user, parameter, param_name, context, input_by, value,
                    multiple, param_type, delimiter, optional, index):

    if ToolPermissions.CanEdit(user, parameter.ToolVersion.Tool):
        parameter.ParameterName = param_name
        parameter.Context = context
        parameter.InputBy = input_by
        parameter.Value = value
        parameter.Multiple = multiple
        parameter.ParameterType_id = param_type
        parameter.Delimiter = delimiter
        parameter.Optional = optional
        parameter.ParameterIndex = index
        parameter.save()
    else:
        raise PermissionDenied
Example #15
0
def DeleteResources(user, version):
    if ToolPermissions.CanEdit(user, version.Tool):
        for r in version.Resources.all():
            r.delete()
    else:
        raise PermissionDenied
Example #16
0
def GetFileList(user, ToolID, path):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        return os.listdir(path)
    else:
        raise PermissionDenied
Example #17
0
def DeleteOutputs(user, version):
    if ToolPermissions.CanEdit(user, version.Tool):
        for o in version.ExpectedOutputs.all():
            o.delete()
    else:
        raise PermissionDenied
Example #18
0
def DeleteFile(user, ToolID, path):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        os.remove(path)
    else:
        raise PermissionDenied
Example #19
0
def ReadFile(user, ToolID, path):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        return File.read_file(path)
    else:
        raise PermissionDenied
Example #20
0
def SaveFile(user, ToolID, path, content):
    tool = GetTool(user, ToolID)
    if ToolPermissions.CanEdit(user, tool):
        File.print_to_file(path, content, permissions=0777)
    else:
        raise PermissionDenied
Example #21
0
def DeleteParameters(user, version):
    if ToolPermissions.CanEdit(user, version.Tool):
        for p in version.ToolParameters.all():
            p.delete()
    else:
        raise PermissionDenied
Example #22
0
def DeleteParameterOption(user, parameter, option_id):
    option = parameter.ParameterOptions.get(pk=option_id)
    if ToolPermissions.CanEdit(user, parameter.ToolVersion.Tool):
        option.delete()
    else:
        raise PermissionDenied