def view_entity_department(request):
    """create department dialog
    """

    logger.debug('***view_entity_department method starts ***')

    logged_in_user = get_logged_in_user(request)

    entity_id = request.matchdict.get('eid', -1)
    entity = Entity.query.filter_by(id=entity_id).first()

    logger.debug('entity_type     : %s' % entity.entity_type)

    department_id = request.matchdict.get('id', -1)
    department = Department.query.filter_by(id=department_id).first()

    studio = Studio.query.first()
    projects = Project.query.all()

    return {
        'entity': entity,
        'department': department,
        'actions': defaults.actions,
        'logged_in_user': logged_in_user,
        'stalker_pyramid': stalker_pyramid,
        'has_permission': PermissionChecker(request),
        'studio': studio,
        'projects': projects
    }
Beispiel #2
0
def list_group_permissions(request):
    """create group dialog
    """
    logger.debug('***view_entity_group method starts ***')

    logged_in_user = get_logged_in_user(request)

    permissions = Permission.query.all()
    entity_types = EntityType.query.all()

    group_id = request.matchdict.get('id', -1)
    group = Group.query.filter_by(id=group_id).first()

    studio = Studio.query.first()
    projects = Project.query.all()

    return {
        'entity': group,
        'actions': defaults.actions,
        'permissions': permissions,
        'entity_types': entity_types,
        'logged_in_user': logged_in_user,
        'stalker_pyramid': stalker_pyramid,
        'has_permission': PermissionChecker(request),
        'studio': studio,
        'projects': projects

    }
Beispiel #3
0
def get_entity_related_data(request):
    """view for generic data
    """
    logger.debug('get_entity_related_data')
    logged_in_user = get_logged_in_user(request)

    studio = Studio.query.first()

    entity_id = request.matchdict.get('id')
    if not entity_id:
        entity = studio
    else:
        entity = Entity.query.filter_by(id=entity_id).first()

    projects = Project.query.all()
    mode = request.matchdict.get('mode', None)
    came_from = request.params.get('came_from', request.url)

    return {
        'mode': mode,
        'entity': entity,
        'has_permission': PermissionChecker(request),
        'logged_in_user': logged_in_user,
        'milliseconds_since_epoch': milliseconds_since_epoch,
        'stalker_pyramid': stalker_pyramid,
        'projects': projects,
        'studio': studio,
        'came_from': came_from
    }
Beispiel #4
0
def list_entity_tasks_by_filter(request):
    """creates a list_entity_tasks_by_filter by using the given entity and filter
    """
    logger.debug('inside list_entity_tasks_by_filter')

    # get logged in user
    logged_in_user = get_logged_in_user(request)

    entity_id = request.matchdict.get('id', -1)
    entity = Entity.query.filter_by(id=entity_id).first()

    filter_id = request.matchdict.get('f_id', -1)
    filter = Entity.query.filter_by(id=filter_id).first()

    studio = Studio.query.first()
    if not studio:
        studio = defaults

    return {
        'mode': 'create',
        'has_permission': PermissionChecker(request),
        'studio': studio,
        'logged_in_user': logged_in_user,
        'entity': entity,
        'filter': filter,
        'milliseconds_since_epoch': milliseconds_since_epoch,
    }
Beispiel #5
0
def create_version_dialog(request):
    """creates a create_version_dialog by using the given task
    """
    logger.debug('inside create_version_dialog')

    # get logged in user
    logged_in_user = get_logged_in_user(request)

    task_id = request.matchdict.get('id', -1)
    task = Task.query.filter(Task.task_id == task_id).first()

    takes = map(
        lambda x: x[0],
        DBSession.query(distinct(Version.take_name))
        .filter(Version.task == task)
        .all()
    )

    if defaults.version_take_name not in takes:
        takes.append(defaults.version_take_name)

    return {
        'mode': 'CREATE',
        'has_permission': PermissionChecker(request),
        'logged_in_user': logged_in_user,
        'task': task,
        'default_take_name': defaults.version_take_name,
        'take_names': [defaults.version_take_name]
    }
Beispiel #6
0
def assign_thumbnail(request):
    """assigns the thumbnail to the given entity
    """
    link_ids = get_multi_integer(request, 'link_ids[]')
    entity_id = request.params.get('entity_id', -1)

    link = Link.query.filter(Link.id.in_(link_ids)).first()
    entity = Entity.query.filter_by(id=entity_id).first()

    logger.debug('link_ids  : %s' % link_ids)
    logger.debug('link      : %s' % link)
    logger.debug('entity_id : %s' % entity_id)
    logger.debug('entity    : %s' % entity)

    logged_in_user = get_logged_in_user(request)
    if entity and link:
        entity.thumbnail = link

        # resize the thumbnail
        file_full_path = convert_file_link_to_full_path(link.full_path)
        img = Image.open(file_full_path)
        if img.format != 'GIF':
            img.thumbnail((1024, 1024))
            img.thumbnail((512, 512), Image.ANTIALIAS)
            img.save(file_full_path)

        DBSession.add(entity)
        DBSession.add(link)

    return HTTPOk()
Beispiel #7
0
def update_time_log_dialog(request):
    """updates a create_time_log_dialog by using the given task
    """
    logger.debug('inside updates_time_log_dialog')

    came_from = request.params.get('came_from','/')
    logger.debug('came_from %s: '% came_from)

    # get logged in user
    logged_in_user = get_logged_in_user(request)

    time_log_id = request.matchdict.get('id', -1)
    time_log = TimeLog.query.filter_by(id=time_log_id).first()

    studio = Studio.query.first()
    if not studio:
        studio = defaults

    return {
        'mode': 'update',
        'has_permission': PermissionChecker(request),
        'studio': studio,
        'logged_in_user': logged_in_user,
        'task': time_log.task,
        'came_from': came_from,
        'time_log': time_log,
        'milliseconds_since_epoch': milliseconds_since_epoch
    }
Beispiel #8
0
def update_structure(request):
    """updates a structure
    """
    logged_in_user = get_logged_in_user(request)

    # get params
    structure_id = request.params.get('structure_id')
    structure = Structure.query.filter_by(id=structure_id).first()

    name = request.params.get('name')
    custom_template = request.params.get('custom_template')

    # get all FilenameTemplates
    ft_ids = get_multi_integer(request, 'filename_templates')
    fts = FilenameTemplate.query.filter(FilenameTemplate.id.in_(ft_ids)).all()

    if name:
        # update structure
        structure.name = name
        structure.custom_template = custom_template
        structure.templates = fts
        structure.updated_by = logged_in_user
        structure.date_updated = datetime.datetime.now()

        DBSession.add(structure)

    return HTTPOk()
Beispiel #9
0
def create_ticket_dialog(request):
    """creates a create_ticket_dialog by using the given task
    """
    logged_in_user = get_logged_in_user(request)

    project_id = request.params.get('project_id', -1)
    project = Project.query.filter(Project.id == project_id).first()

    task_id = request.params.get('task_id', -1)
    owner_id= request.params.get('owner_id', -1)

    if not project:
        return Response('No project found with id: %s' % project_id, 500)

    return {
        'mode': 'create',
        'has_permission': PermissionChecker(request),
        'logged_in_user': logged_in_user,
        'task_id': task_id,
        'owner_id':owner_id,
        'project': project,
        'ticket_types':
            Type.query.filter_by(target_entity_type='Ticket').all(),
        'ticket_priorities': [
            "TRIVIAL",
            "MINOR",
            "MAJOR",
            "CRITICAL",
            "BLOCKER"
        ]
    }
Beispiel #10
0
def update_sequence(request):
    """runs when adding a new sequence
    """
    logged_in_user = get_logged_in_user(request)

    sequence_id = request.params.get('sequence_id')
    sequence = Sequence.query.filter_by(id=sequence_id).first()

    name = request.params.get('name')
    code = request.params.get('code')

    status_id = request.params.get('status_id')
    status = Status.query.filter_by(id=status_id).first()

    if sequence and code and name and status:
        # get descriptions
        description = request.params.get('description')

        #update the sequence
        sequence.name = name
        sequence.code = code
        sequence.description = description
        sequence.status = status
        sequence.updated_by = logged_in_user
        sequence.date_updated = datetime.datetime.now()

        DBSession.add(sequence)

    else:
        logger.debug('there are missing parameters')
        logger.debug('name      : %s' % name)
        logger.debug('status    : %s' % status)
        HTTPServerError()

    return HTTPOk()
Beispiel #11
0
def create_image_format(request):
    """creates an image format
    """
    logged_in_user = get_logged_in_user(request)

    name = request.params.get('name')
    width = int(request.params.get('width', -1))
    height = int(request.params.get('height', -1))
    pixel_aspect = float(request.params.get('pixel_aspect', -1))

    if name and width and height and pixel_aspect:
        # create a new ImageFormat and save it to the database
        new_image_format = ImageFormat(
            name=name,
            width=width,
            height=height,
            pixel_aspect=pixel_aspect,
            created_by=logged_in_user
        )
        DBSession.add(new_image_format)
        logger.debug('created new image format')
        logger.debug('new_image_format: %s' % new_image_format)
    else:
        logger.debug('some data is missing')
        return HTTPServerError()

    return HTTPOk()
Beispiel #12
0
def update_department(request):
    """updates an Department
    """

    logger.debug('***update department method starts ***')

    logged_in_user = get_logged_in_user(request)

    # get params
    came_from = request.params.get('came_from', '/')
    department_id = request.matchdict.get('id', -1)
    department = Department.query.filter_by(id=department_id).first()

    name = request.params.get('name')

    logger.debug('department : %s' % department)
    logger.debug('department new name : %s' % name)


    if department and name:

        description = request.params.get('description')

        lead_id = request.params.get('lead_id', -1)
        lead = User.query.filter_by(id=lead_id).first()

        # Tags
        tags = get_tags(request)

        logger.debug('department new description : %s' % description)
        logger.debug('department new lead : %s' % lead)
        logger.debug('department new tags : %s' % tags)

        # update the department
        department.name = name
        department.description = description

        department.lead = lead
        department.tags = tags
        department.updated_by = logged_in_user
        department.date_updated = datetime.datetime.now()

        DBSession.add(department)

        logger.debug('department is updated successfully')

        request.session.flash(
                'success:Department <strong>%s</strong> is updated successfully' % name
            )

        logger.debug('***update department method ends ***')
    else:
        logger.debug('not all parameters are in request.params')
        log_param(request, 'department_id')
        log_param(request, 'name')
        HTTPServerError()

    return Response('Successfully updated department: %s' % department_id)
Beispiel #13
0
def update_group(request):
    """updates the group with data from request
    """

    logger.debug('***update group method starts ***')

    logged_in_user = get_logged_in_user(request)

    # get parameters
    post_multi_dict = request.POST

    came_from = request.params.get('came_from', '/')
    group_id = int(post_multi_dict['group_id'])
    group = Group.query.filter_by(id=group_id).first()

    name = post_multi_dict['name']

    if group and name:

        description = post_multi_dict['description']

        # remove name and description to leave only permission in the dictionary
        post_multi_dict.pop('name')
        post_multi_dict.pop('description')
        permissions = get_permissions_from_multi_dict(post_multi_dict)

         # update the group
        group.name = name
        group.description = description
        group.permissions = permissions
        group.updated_by = logged_in_user
        group.date_updated = datetime.datetime.now()

        DBSession.add(group)

        logger.debug('group is updated successfully')

        request.session.flash(
                'success:Group <strong>%s</strong> is updated successfully' % name
            )

        logger.debug('***update group method ends ***')
    else:
        logger.debug('not all parameters are in request.params')
        log_param(request, 'group_id')
        log_param(request, 'name')
        response = Response(
            'There are missing parameters: '
            'group_id: %s, name: %s' % (group_id, name), 500
        )
        transaction.abort()
        return response

    response = Response('successfully updated %s group!' % name)
    return response
Beispiel #14
0
def assign_reference(request):
    """assigns the link to the given entity as a new reference
    """
    link_ids = get_multi_integer(request, 'link_ids[]')
    removed_link_ids = get_multi_integer(request, 'removed_link_ids[]')
    entity_id = request.params.get('entity_id', -1)

    entity = Entity.query.filter_by(id=entity_id).first()
    links = Link.query.filter(Link.id.in_(link_ids)).all()
    removed_links = Link.query.filter(Link.id.in_(removed_link_ids)).all()

    # Tags
    tags = get_tags(request)

    logged_in_user = get_logged_in_user(request)

    logger.debug('link_ids      : %s' % link_ids)
    logger.debug('links         : %s' % links)
    logger.debug('entity_id     : %s' % entity_id)
    logger.debug('entity        : %s' % entity)
    logger.debug('tags          : %s' % tags)
    logger.debug('removed_links : %s' % removed_links)

    # remove all the removed links
    for removed_link in removed_links:
        # no need to search for any linked tasks here
        DBSession.delete(removed_link)

    if entity and links:
        entity.references.extend(links)

        # assign all the tags to the links
        for link in links:
            link.tags.extend(tags)
            # generate thumbnail
            thumbnail = generate_thumbnail(link)
            link.thumbnail = thumbnail
            thumbnail.created_by = logged_in_user
            DBSession.add(thumbnail)

        DBSession.add(entity)
        DBSession.add_all(links)

    # return new links as json data
    # in response text
    return [
        {
            'id': link.id,
            'full_path': link.full_path,
            'original_filename': link.original_filename,
            'thumbnail': link.thumbnail.full_path
            if link.thumbnail else link.full_path,
            'tags': [tag.name for tag in link.tags]
        } for link in links
    ]
Beispiel #15
0
def update_project(request):
    """called when updating a Project
    """
    logged_in_user = get_logged_in_user(request)

    # parameters
    project_id = request.params.get('project_id', -1)
    project = Project.query.filter_by(id=project_id).first()

    name = request.params.get('name')

    fps = int(request.params.get('fps'))

    imf_id = request.params.get('image_format', -1)
    imf = ImageFormat.query.filter_by(id=imf_id).first()

    repo_id = request.params.get('repository_id', -1)
    repo = Repository.query.filter_by(id=repo_id).first()

    structure_id = request.params.get('structure_id', -1)
    structure = Structure.query.filter_by(id=structure_id).first()

    lead_id = request.params.get('lead_id', -1)
    lead = User.query.filter_by(id=lead_id).first()

    status_id = request.params.get('status_id', -1)
    status = Status.query.filter_by(id=status_id).first()

    # get the dates
    start = get_date(request, 'start')
    end = get_date(request, 'end')

    if project and name and imf and repo and structure and lead and \
            status:

        project.name = name
        project.image_format = imf
        project.repository = repo
        project.updated_by = logged_in_user
        project.date_updated = datetime.datetime.now()
        project.fps = fps
        project.structure = structure
        project.lead = lead
        project.status = status
        project.start = start
        project.end = end

        DBSession.add(project)

    else:
        logger.debug('there are missing parameters')
        HTTPServerError()

    return HTTPOk()
Beispiel #16
0
def create_shot(request):
    """runs when adding a new shot
    """
    logged_in_user = get_logged_in_user(request)

    name = request.params.get("name")
    code = request.params.get("code")

    status_id = request.params.get("status_id")
    status = Status.query.filter_by(id=status_id).first()

    project_id = request.params.get("project_id")
    project = Project.query.filter_by(id=project_id).first()
    logger.debug("project_id   : %s" % project_id)

    if name and code and status and project:
        # get descriptions
        description = request.params.get("description")

        sequence_id = request.params["sequence_id"]
        sequence = Sequence.query.filter_by(id=sequence_id).first()

        # get the status_list
        status_list = StatusList.query.filter_by(target_entity_type="Shot").first()

        # there should be a status_list
        # TODO: you should think about how much possible this is
        if status_list is None:
            return HTTPServerError(detail="No StatusList found")

        new_shot = Shot(
            name=name,
            code=code,
            description=description,
            sequence=sequence,
            status_list=status_list,
            status=status,
            created_by=logged_in_user,
            project=project,
        )

        DBSession.add(new_shot)

    else:
        logger.debug("there are missing parameters")
        logger.debug("name      : %s" % name)
        logger.debug("code      : %s" % code)
        logger.debug("status    : %s" % status)
        logger.debug("project   : %s" % project)
        HTTPServerError()

    return HTTPOk()
Beispiel #17
0
def create_sequence(request):
    """runs when adding a new sequence
    """
    logged_in_user = get_logged_in_user(request)

    name = request.params.get('name')
    code = request.params.get('code')

    status_id = request.params.get('status_id')
    status = Status.query.filter_by(id=status_id).first()

    project_id = request.params.get('project_id')
    project = Project.query.filter_by(id=project_id).first()

    logger.debug('project_id   : %s' % project_id)

    if name and code and status and project:
        # get descriptions
        description = request.params.get('description')

        # get the status_list
        status_list = StatusList.query.filter_by(
            target_entity_type='Sequence'
        ).first()

        # there should be a status_list
        # TODO: you should think about how much possible this is
        if status_list is None:
            return HTTPServerError(detail='No StatusList found')

        new_sequence = Sequence(
            name=name,
            code=code,
            description=description,
            status_list=status_list,
            status=status,
            created_by=logged_in_user,
            project=project
        )

        DBSession.add(new_sequence)

    else:
        logger.debug('there are missing parameters')
        logger.debug('name      : %s' % name)
        logger.debug('code      : %s' % code)
        logger.debug('status    : %s' % status)
        logger.debug('project   : %s' % project)
        HTTPServerError()

    return HTTPOk()
Beispiel #18
0
def update_version_dialog(request):
    """updates a create_version_dialog by using the given task
    """
    # get logged in user
    logged_in_user = get_logged_in_user(request)

    version_id = request.matchdict.get('id', -1)
    version = Version.query.filter_by(id=version_id).first()

    return {
        'mode': 'UPDATE',
        'has_permission': PermissionChecker(request),
        'logged_in_user': logged_in_user,
        'task': version.task,
        'version': version
    }
Beispiel #19
0
def update_asset(request):
    """updates an Asset
    """
    logger.debug('***update_asset method starts ***')
    logged_in_user = get_logged_in_user(request)

    # get params
    asset_id = request.matchdict.get('id', -1)
    asset = Asset.query.filter_by(id=asset_id).first()

    name = request.params.get('name')
    code = request.params.get('code')
    description = request.params.get('description')
    type_name = request.params.get('type_name')

    status_id = request.params.get('status_id')
    status = Status.query.filter_by(id=status_id).first()

    if asset and name and code and type_name and status:
        # get the type
        type_ = Type.query\
            .filter_by(target_entity_type='Asset')\
            .filter_by(name=type_name)\
            .first()

        if type_ is None:
            # create a new Type
            type_ = Type(
                name=type_name,
                code=type_name,
                target_entity_type='Asset'
            )

        # update the asset
        logger.debug('code      : %s' % code)
        asset.name = name
        asset.code = code
        asset.description = description
        asset.type = type_
        asset.status = status
        asset.updated_by = logged_in_user
        asset.date_updated = datetime.datetime.now()

        DBSession.add(asset)

    return HTTPOk()
Beispiel #20
0
def create_entity_note(request):

    logger.debug('create_entity_note is running')

    entity_id = request.matchdict.get('id', -1)
    entity = Entity.query.filter(Entity.id == entity_id).first()

    content = request.params.get('message', '')

    utc_now = local_to_utc(datetime.datetime.now())

    logged_in_user = get_logged_in_user(request)

    if not entity:
        transaction.abort()
        return Response('There is no entity with id: %s' % entity_id, 500)


    logger.debug('content %s' % content)

    if content != '':

        note_type = Type.query.filter_by(name='Simple Text').first()
        if note_type is None:
                 # create a new Type
                note_type = Type(
                    name='Simple Text',
                    code='Simple_Text',
                    target_entity_type='Note',
                    html_class='grey'

                )

        note = Note(
                    content=content,
                    created_by=logged_in_user,
                    date_created=utc_now,
                    date_updated=utc_now,
                    type = note_type
                )

        DBSession.add(note)

        entity.notes.append(note)

    return Response('Task note is created')
Beispiel #21
0
def update_shot(request):
    """runs when adding a new shot
    """
    logged_in_user = get_logged_in_user(request)

    shot_id = request.params.get("shot_id")
    shot = Shot.query.filter_by(id=shot_id).first()

    name = request.params.get("name")
    code = request.params.get("code")

    cut_in = int(request.params.get("cut_in", 1))
    cut_out = int(request.params.get("cut_out", 1))

    status_id = request.params.get("status_id")
    status = Status.query.filter_by(id=status_id).first()

    if shot and code and name and status:
        # get descriptions
        description = request.params.get("description")

        sequence_id = request.params["sequence_id"]
        sequence = Sequence.query.filter_by(id=sequence_id).first()

        # update the shot

        shot.name = name
        shot.code = code
        shot.description = description
        shot.sequences = [sequence]
        shot.status = status
        shot.updated_by = logged_in_user
        shot.date_updated = datetime.datetime.now()
        shot.cut_in = cut_in
        shot.cut_out = cut_out

        DBSession.add(shot)

    else:
        logger.debug("there are missing parameters")
        logger.debug("name      : %s" % name)
        logger.debug("status    : %s" % status)
        HTTPServerError()

    return HTTPOk()
Beispiel #22
0
def update_version(request):
    """runs when updating a version
    """
    logged_in_user = get_logged_in_user(request)

    version_id = request.params.get('version_id')
    version = TimeLog.query.filter_by(id=version_id).first()

    name = request.params.get('name')

    if version and name:

        version.name = name
        version.updated_by = logged_in_user
    else:
        DBSession.add(version)

    return HTTPOk()
Beispiel #23
0
def home(request):
    logged_in_user = get_logged_in_user(request)

    studio = Studio.query.first()
    projects = Project.query.all()

    flash_message = request.params.get('flash')
    if flash_message:
        request.session.flash(flash_message)

    return {
        'stalker_pyramid': stalker_pyramid,
        'studio': studio,
        'logged_in_user': logged_in_user,
        'has_permission': PermissionChecker(request),
        'milliseconds_since_epoch': milliseconds_since_epoch,
        'projects': projects,
        'entity': logged_in_user
    }
Beispiel #24
0
def list_groups(request):
    """
    """
    logger.debug('***list_groups method starts ***')

    logged_in_user = get_logged_in_user(request)

    groups = Group.query.all()
    studio = Studio.query.first()
    projects = Project.query.all()

    return {
        'stalker_pyramid': stalker_pyramid,
        'studio': studio,
        'logged_in_user': logged_in_user,
        'milliseconds_since_epoch': milliseconds_since_epoch,
        'has_permission': PermissionChecker(request),
        'projects': projects,
        'groups': groups
    }
Beispiel #25
0
def create_structure(request):
    """creates a structure
    """
    logged_in_user = get_logged_in_user(request)

    # get parameters
    name = request.params.get('name')
    custom_template = request.params.get('custom_template')
    ft_ids = get_multi_integer(request, 'filename_templates')
    fts = FilenameTemplate.query.filter(FilenameTemplate.id.in_(ft_ids)).all()

    if name and custom_template:
        # create a new structure
        new_structure = Structure(
            name=name,
            custom_template=custom_template,
            templates=fts,
            created_by=logged_in_user,
        )
        DBSession.add(new_structure)

    return HTTPOk()
Beispiel #26
0
def update_filename_template(request):
    """updates a FilenameTemplate instance
    """
    logged_in_user = get_logged_in_user(request)

    name = request.params.get('name')
    path = request.params.get('path')
    filename = request.params.get('filename')
    ft_id = request.params.get('ft_id')
    ft = FilenameTemplate.query.filter_by(id=ft_id).first()

    if name and path and filename and ft:
        ft.name = name
        ft.path = path
        ft.filename = filename

        ft.updated_by = logged_in_user
        ft.date_updated = datetime.datetime.now()

        DBSession.add(ft)

    return HTTPOk()
Beispiel #27
0
def create_filename_template(request):
    """creates a new FilenameTemplate
    """
    logged_in_user = get_logged_in_user(request)

    # get parameters
    name = request.params.get('name')
    target_entity_type = request.params.get('target_entity_type')
    path = request.params.get('path')
    filename = request.params.get('filename')

    if name and target_entity_type and path and filename:
        new_ft = FilenameTemplate(
            name=name,
            target_entity_type=target_entity_type,
            path=path,
            filename=filename,
            created_by=logged_in_user
        )
        DBSession.add(new_ft)

    return HTTPOk()
Beispiel #28
0
def create_repository(request):
    """creates a new repository
    """
    logged_in_user = get_logged_in_user(request)

    # get params
    name = request.params.get('name')
    windows_path = request.params.get('windows_path')
    linux_path = request.params.get('linux_path')
    osx_path = request.params.get('osx_path')

    if name and windows_path and linux_path and osx_path:
        # create a new Repository and save it to the database
        new_repository = Repository(
            name=name,
            windows_path=windows_path,
            linux_path=linux_path,
            osx_path=osx_path,
            created_by=logged_in_user
        )
        DBSession.add(new_repository)

    return HTTPOk()
Beispiel #29
0
def update_image_format(request):
    """updates an image format
    """
    logged_in_user = get_logged_in_user(request)

    # get params
    imf_id = request.params.get('imf_id', -1)
    imf = ImageFormat.query.filter_by(id=imf_id).first()

    name = request.params.get('name')
    width = int(request.params.get('width', -1))
    height = int(request.params.get('height', -1))
    pixel_aspect = float(request.params.get('pixel_aspect', -1))

    if imf and name and width and height and pixel_aspect:
        imf.name = request.params['name']
        imf.width = int(request.params['width'])
        imf.height = int(request.params['height'])
        imf.pixel_aspect = float(request.params['pixel_aspect'])
        imf.updated_by = logged_in_user
        imf.date_updated = datetime.datetime.now()
        DBSession.add(imf)

    return HTTPOk()
Beispiel #30
0
def list_search_result(request):
    qString = request.params.get('str', None)
    entity_id = request.params.get('eid', None)
    entity = Entity.query.filter_by(id=entity_id).first()

    results = Entity.query.filter(
        Entity.name.ilike('%' + qString + '%')
    ).all()

    projects = Project.query.all()
    logged_in_user = get_logged_in_user(request)

    studio = Studio.query.first()

    return {
        'entity': entity,
        'has_permission': PermissionChecker(request),
        'logged_in_user': logged_in_user,
        'milliseconds_since_epoch': milliseconds_since_epoch,
        'stalker_pyramid': stalker_pyramid,
        'projects': projects,
        'studio': studio,
        'results':results
    }