Ejemplo n.º 1
0
def CopyParameters(user, old_version, new_version):
    if ToolPermissions.CanPublish(user, old_version.Tool):
        parameters = GetParameters(old_version)
        params = {}

        for old_param in parameters:
            parent_param_id = old_param.ParameterID

            param = deepcopy(old_param)

            param.ParameterID = None
            param.ToolVersion = new_version

            #if this is a child parameter, update the parent to the copy of the parent
            if param.ParentParameter:
                param.ParentParameter = params[
                    param.ParentParameter.ParameterID]

            #save to add copy to datebase with new ID
            param.save()

            ParameterOptions.CopyOptions(user, old_param, param)

            #store the ID change for any child parameters
            params[parent_param_id] = param
    else:
        raise PermissionDenied
Ejemplo n.º 2
0
def CopyOutputs(user, old_version, new_version):
    if ToolPermissions.CanPublish(user, old_version.Tool):
        outputs = old_version.ExpectedOutputs.all()

        for out in outputs:
            out.ExpectedOutputID = None
            out.ToolVersion = new_version
            out.save()
    else:
        raise PermissionDenied
Ejemplo n.º 3
0
def PublishToolVersion(user, dev, version_num):
    if ToolPermissions.CanPublish(user, dev.Tool):
        new = deepcopy(dev)
        new.ToolVersionID = None
        new.ToolVersionNum = version_num
        new.save()

        return new
    else:
        raise PermissionDenied
Ejemplo n.º 4
0
def CopyResources(user, old_version, new_version):
    if ToolPermissions.CanPublish(user, old_version.Tool):
        resources = old_version.Resources.all()

        for old in resources:
            new = old
            new.ToolVersionResourceID = None
            new.ToolVersion = new_version
            new.save()
    else:
        raise PermissionDenied
Ejemplo n.º 5
0
def AddToolVersion(user,
                   Tool,
                   ToolVersionNum,
                   ShortDescription,
                   LongDescription,
                   Command=""):
    if ToolPermissions.CanPublish(user, Tool):
        return ToolVersion.objects.create(Tool=Tool,
                                          ToolVersionNum=ToolVersionNum,
                                          ShortDescription=ShortDescription,
                                          LongDescription=LongDescription,
                                          Command=Command)
    else:
        raise PermissionDenied