Пример #1
0
    def get_task(self, request, **kwargs):
        """For getting tasks.

        Input params:
            (optional)
            title(str): Title for searching tasks.
            due_date(str): for filter tasks using due date.
            offset(int): offset for the task list.
            limit(int): limit for the task limit.
        Response:
            data(json): dictionary with,
                objects: task details list.
                meta: pagination details.
        """
        self.method_check(request, allowed=['get'])

        request_dict = {}
        try:
            request_dict['received_data'] = request.GET
            request_dict['optional_params'] = [
                ('title', 'str'), ('due_date', 'str'),
                ('offset', 'int'), ('limit', 'int'),
                ('date', 'str')]
            print request_dict['optional_params']
            task_dict = utilities.fetch_request_params(request_dict)

            task_data = task_bll.get_tasks(task_dict)
            data = success_response(task_data)
        except(
            KeyError, ValueError, InvalidTaskParameters,
                InvalidSubTaskParameters, InvalidDueDate) as e:
            data = error_response(e)

        return data
Пример #2
0
    def signup(self, request, **kwargs):
        """For user signup.

        Input params:
            username(str): Username of the user.
            password(password): password for the user.
            first_name(str): First for the user.
            email(email): Email id of the user
        Response:
            data(json): dictionary with,
                success: bool value showing success msg.
                user: User resource uri.
        """
        self.method_check(request, allowed=['post'])

        request_dict = {}
        try:
            request_dict['received_data'] = loads(request.body)
            request_dict['mandatory_params'] = [
                ('username', 'str'), ('password', 'password'),
                ('first_name', 'str'), ('email', 'email')]
            user_dict = utilities.fetch_request_params(request_dict)

            user_data = task_bll.signup_user(user_dict)
            data = success_response(user_data)
        except(
            KeyError, ValueError, InvalidUserParameters,
                UsernameExists) as e:
            data = error_response(e)

        return data
Пример #3
0
    def login(self, request, **kwargs):
        """For user login.

        Input params:
            username(str): Username of the user.
            password(password): password of the user.
        Response:
            data(json): dictionary with,
                success: bool value showing success msg.
                user: User resource uri.
        """
        self.method_check(request, allowed=['post'])

        request_dict = {}
        try:
            request_dict['received_data'] = loads(request.body)
            request_dict['mandatory_params'] = [
                ('username', 'str'), ('password', 'password')]
            user_dict = utilities.fetch_request_params(request_dict)
            user_dict['request'] = request

            user_data = task_bll.login_user(user_dict)
            data = success_response(user_data)
        except(
            KeyError, ValueError, UnauthorizedUsername,
                UnauthorizedPassword, UserNotActive) as e:
            data = error_response(e)

        return data
Пример #4
0
def get_brands(request, user=None):
    """For getting brands."""
    request_dict = {}
    try:
        request_dict['received_data'] = request.GET
        brands_dict = utilities.fetch_request_params(request_dict)

        brands_data = inventory_bll.get_brands(brands_dict)
        data = success_response(brands_data)
    except (KeyError, ValueError, InvalidBrandDetails) as e:
        data = error_response(e)
    return data
Пример #5
0
def get_properties(request, user=None):
    """For getting all properties."""
    request_dict = {}
    try:
        request_dict['received_data'] = request.GET
        property_dict = utilities.fetch_request_params(request_dict)

        property_data = inventory_bll.get_property_data(property_dict)
        data = success_response(property_data)
    except (KeyError, ValueError) as e:
        data = error_response(e)

    return data
Пример #6
0
def get_user_actions(request, user=None):
    """For deleting variant."""
    request_dict = {}
    try:
        request_dict['received_data'] = request.GET
        request_dict['optional_params'] = [
            ('log_date', 'date')]
        user_dict = utilities.fetch_request_params(request_dict)
        user_dict['user'] = user

        user_data = inventory_bll.get_user_actions(user_dict)
        data = success_response(user_data)
    except (
            KeyError, ValueError, InvalidUserActionParameters) as e:
        data = error_response(e)
    return data
Пример #7
0
def delete_variant(request, variant_id, user=None):
    """For deleting variant."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        variant_dict = utilities.fetch_request_params(request_dict)
        variant_dict['user'] = user
        variant_dict['variant_id'] = variant_id

        variant_data = inventory_bll.delete_variant(variant_dict)
        data = success_response(variant_data)
    except (
            KeyError, ValueError, VariantNotFound,
            InvalidVariantParameters) as e:
        data = error_response(e)
    return data
Пример #8
0
def delete_item(request, item_id, user=None):
    """For deleting item."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        item_dict = utilities.fetch_request_params(request_dict)
        item_dict['user'] = user
        item_dict['item_id'] = item_id

        item_data = inventory_bll.delete_item(item_dict)
        data = success_response(item_data)
    except (
            KeyError, ValueError, ItemNotFound,
            InvalidItemParameters) as e:
        data = error_response(e)
    return data
Пример #9
0
def user_signup(request):
    """For user signup."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        request_dict['mandatory_params'] = [
            ('password', 'str'), ('email', 'email'),
            ('first_name', 'str'), ('last_name', 'str')]
        user_dict = utilities.fetch_request_params(request_dict)

        user_data = inventory_bll.user_signup(user_dict)
        data = success_response(user_data)
    except(KeyError, ValueError, InvalidUserParameters) as e:
        data = error_response(e)

    return data
Пример #10
0
def create_item(request, user=None):
    """For creating item."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        request_dict['mandatory_params'] = [
            ('brand_id', 'int'), ('category_id', 'int'),
            ('name', 'str'), ('product_code', 'str')]
        item_dict = utilities.fetch_request_params(request_dict)
        item_dict['user'] = user

        item_data = inventory_bll.create_item(item_dict)
        data = success_response(item_data)
    except (
            KeyError, ValueError, BrandNotFound,
            CategoryNotFound, InvalidItemParameters) as e:
        data = error_response(e)
    return data
Пример #11
0
def create_variant_properties(request, variant_id, user=None):
    """For creating item variant."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        request_dict['mandatory_params'] = [
            ('property_id', 'int'), ('property_value', 'str')]
        variant_dict = utilities.fetch_request_params(request_dict)
        variant_dict['user'] = user
        variant_dict['variant_id'] = variant_id

        variant_data = inventory_bll.create_variant_properties(variant_dict)
        data = success_response(variant_data)
    except (
            KeyError, ValueError, VariantNotFound,
            InvalidVariantPropertyParameters, PropertyNotFound) as e:
        data = error_response(e)
    return data
Пример #12
0
def update_variant_details(request, variant_id, user=None):
    """For updating variant."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        request_dict['optional_params'] = [
            ('name', 'str'), ('cost_price', 'str'), ('selling_price', 'str'),
            ('quantity', 'str'), ('variant_properties', 'list')]
        variant_dict = utilities.fetch_request_params(request_dict)
        variant_dict['user'] = user
        variant_dict['variant_id'] = variant_id

        variant_data = inventory_bll.update_variants(variant_dict)
        data = success_response(variant_data)
    except (
            KeyError, ValueError, VariantNotFound,
            InvalidVariantParameters) as e:
        data = error_response(e)
    return data
Пример #13
0
def send_feedback_mail(request):
    """For sending feedback email according to feedback.

    Input Params:
        ids (int): Corresponding value for each id for tags.
        email (email): Email Id of the user.
    """
    request_dict = {}
    try:
        request_dict['received_data'] = request.POST
        request_dict['mandatory_params'] = [('email', 'email')]
        email_dict = utilities.fetch_request_params(request_dict)
        email_dict['received_data'] = request_dict['received_data']

        bll.send_feedback_mail(email_dict)
        data = render(request, 'feedback/success.html')
    except (KeyError, ValueError) as e:
        data = render(request, 'feedback/error_occured.html',
                      {'data': e.message})
    return data
Пример #14
0
def get_item_list(request, user=None):
    """For getting item list."""
    request_dict = {}
    try:
        request_dict['received_data'] = request.GET
        request_dict['optional_params'] = [
            ('offset', 'int'), ('limit', 'int')]
        item_dict = utilities.fetch_request_params(request_dict)
        item_dict['user'] = user
        print user

        item_data = inventory_bll.get_items(item_dict)
        print item_data
        data = success_response(item_data)
    except (
            KeyError, ValueError, BrandNotFound,
            CategoryNotFound, InvalidItemDetails, InvalidBrandDetails,
            InvalidCategoryDetails) as e:
        data = error_response(e)
    return data
Пример #15
0
def create_item_variant(request, item_id, user=None):
    """For creating item variant."""
    request_dict = {}
    try:
        request_dict['received_data'] = loads(request.body)
        request_dict['mandatory_params'] = [
            ('name', 'str'), ('cost_price', 'str'), ('selling_price', 'str'),
            ('quantity', 'str'), ('variant_properties', 'list')]
        item_dict = utilities.fetch_request_params(request_dict)
        item_dict['user'] = user
        item_dict['item_id'] = item_id

        item_data = inventory_bll.create_item_variants(item_dict)
        data = success_response(item_data)
    except (
            KeyError, ValueError, ItemNotFound,
            InvalidVariantParameters, InvalidVariantPropertyParameters,
            PropertyNotFound) as e:
        data = error_response(e)
    return data
Пример #16
0
def get_item_details(request, item_id, user=None):
    """For getting item details."""
    request_dict = {}
    try:
        request_dict['received_data'] = request.GET
        request_dict['optional_params'] = [
            ('offset', 'int'), ('limit', 'int')]
        # offset and limit for variants
        item_dict = utilities.fetch_request_params(request_dict)
        item_dict['user'] = user
        item_dict['item_id'] = item_id

        item_data = inventory_bll.get_item_details(item_dict)
        data = success_response(item_data)
    except (
            KeyError, ValueError, ItemNotFound,
            InvalidItemDetails, InvalidVariantParameters,
            InvalidVariantDetails, InvalidVariantPropertyParameters,
            InvalidVariantPropertyDetails) as e:
        data = error_response(e)
    return data
Пример #17
0
    def get_task_alert(self, request, **kwargs):
        """For task alerts.

        Response:
            data(json): dictionary with,
                objects: task details list.
                meta: pagination details.
        """
        self.method_check(request, allowed=['get'])

        request_dict = {}
        try:
            request_dict['received_data'] = request.GET
            task_dict = utilities.fetch_request_params(request_dict)

            task_data = task_bll.get_alert_needed_tasks(task_dict)
            data = success_response(task_data)
        except(
            KeyError, ValueError, InvalidTaskParameters,
                InvalidSubTaskParameters) as e:
            data = error_response(e)

        return data