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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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