def get_item_by_name(request, properties_name):
    """Item data"""

    if settings.ENV == 'production':
        try:
            data, code, item = resource.get_item_by_name(request, properties_name)
        except:
            return {'code': 'properties/get_item/fail'}, 404
    else:
        data, code, item = resource.get_item_by_name(request, properties_name)
    return data, code
def get_item_by_name(request, post_name):
    """Item data"""

    if settings.ENV == "production":
        try:
            data, code, item = resource.get_item_by_name(request, post_name)
        except:
            return {"code": "post/get_item/fail"}, 404
    else:
        data, code, item = resource.get_item_by_name(request, post_name)
    return data, code
def create(request):

    data = request.DATA

    if getattr(request, 'ignore_csrf_checks', False):
        return {'code': 'no_access'}, 404, False

    if data is False:
        return {'code': 'no_data'}, 404, False

    data = helpers.set_null_values_if_not_exist(data, resource.get_fields())

    if data['name'] is None:
        return {'code': 'user_app/no_name'}, 404, False

    user = helpers.get_user(request)

    if not user or not request.user.is_superuser:
        return {'code': 'no_access'}, 404, False
    if user is None:
        return {'code': 'account/not_active'}, 404, False

    data, code, item = resource.get_item_by_name(request, data['name'])

    if item is not False:
        return {'code': 'user_app/exists', 'values': [data['name']]}, 404, False

    return {'code': 'ok'}, 200, True
def update(request, properties_id):
    """Update record"""

    data = request.DATA

    if data is False:
        return {'code': 'no_data'}, 404, False

    data = helpers.set_null_values_if_not_exist(data, resource.get_fields())

    if data['name'] is None:
        return {'code': 'properties/no_name'}, 404, False

    user = helpers.get_user(request)

    if not user or not request.user.is_superuser:
        return {'code': 'no_access'}, 404, False
    if user is None:
        return {'code': 'account/not_active'}, 404, False

    data, code, item = resource.get_item_by_name(request, data['name'])

    if (item is not False) and (int(item.id) != int(properties_id)):
        return {'code': 'properties/exists', 'values': [data['text']]}, 404, False

    return {'code': 'ok'}, 200, True
def create(request):
    data = request.DATA

    if data is False:
        return {'code': 'no_data'}, 404, False

    data = helpers.set_null_values_if_not_exist(data, resource.get_fields())

    if data['name'] is None:
        return {'code': 'post/no_name'}, 404, False
    if data['title_%s' % get_language()] is None:
        return {'code': 'post/no_title'}, 404, False
    if data['description_%s' % get_language()] is None:
        return {'code': 'post/no_description'}, 404, False

    user = helpers.get_user(request)

    if not user or not request.user.is_superuser:
        return {'code': 'no_access'}, 404, False
    if user is None:
        return {'code': 'account/not_active'}, 404, False

    data, code, item = resource.get_item_by_name(request, data['name'])

    if item is not False:
        return {'code': 'post/exists', 'values': [data['name']]}, 404, False

    return {'code': 'ok'}, 200, True