Esempio n. 1
0
    def post(cls):
        try:
            user_id = get_jwt_identity()
            user = UserModel.find_by_user_id(user_id)
            cards = CardsModel.find_all()

            for card in cards:
                if card.category == 'Refill':
                    current_time = arrow.utcnow().to('Asia/Kolkata')

                    if current_time.timestamp < user.get_date_time(
                            card.data['date_time']):
                        return {'msg': "Still not time to refill"}, 200

                    else:
                        try:
                            stock_card = StockModel.find_by_item(
                                item=card.data['item'])
                            stock_card.count = stock_card.count + card.data[
                                'count']
                            stock_card.save_to_data()
                            card.delete_from_data()
                            return {
                                'msg':
                                'Item {} has been refilled'.format(
                                    stock_card.item)
                            }, 200
                        except:
                            return {
                                'msg':
                                "Item you want to refill does not exist in your stock"
                            }, 200

        except Exception as e:
            return {'msg': str(e)}, 500
Esempio n. 2
0
    def put(cls, _id):
        try:
            user_id = get_jwt_identity()
            user = UserModel.find_by_user_id(user_id)
            body = request.get_json()
            card = CardsModel.find_by_id(_id)

            if not card:
                return {'msg': "No such card entry exists"}

            new_card = card_schema.load(body)
            new_card.id = card.id
            new_card.added_by = card.added_by
            card.delete_from_data()
            new_card.save_to_data()

            if new_card.category == 'Meeting':
                user.send_meeting_email(
                    card, user.get_date_time(new_card.data['date_time']))

            if new_card.category == 'Reminder':
                unix = []
                for i in range(len(new_card.data['date_times'])):
                    unix[i] = unix.append(
                        user.get_date_time(new_card.data['date_times'][i]))
                    user.send_reminder_email(card, unix[i])

            return {'msg': "Card has been modified"}, 200

        except Exception as e:
            return {'msg': str(e)}, 500
Esempio n. 3
0
    def post(cls):
        try:
            user_id = get_jwt_identity()
            user = UserModel.find_by_user_id(user_id)
            body = request.get_json()

            card = card_schema.load(body)
            card.added_by = user_id
            card.save_to_data()

            if card.category == 'Meeting':
                user.send_meeting_email(
                    card, user.get_date_time(card.data['date_time']))

            if card.category == 'Reminder':
                unix = []
                for i in range(len(card.data['date_times'])):
                    unix[i] = unix.append(
                        user.get_date_time(card.data['date_times'][i]))
                    user.send_reminder_email(card, unix[i])

            return {'msg': "Card was added to database"}, 200

        except Exception as e:
            return {'msg': str(e)}, 500
Esempio n. 4
0
    def post(cls, password):
        try:
            user_id = get_jwt_identity()
            user = UserModel.find_by_user_id(user_id)
            
            if not user:
                return {'msg': 'User does not exist'}, 400

            user.save()
            return {'msg': "Password has been updated"}, 200
        
        except Exception as e:
            return {'msg':str(e)}, 500
Esempio n. 5
0
    def get(cls, _id):
        try:
            user = UserModel.find_by_user_id(_id)

            if not user:
                return {'msg': "User does not exist"}, 400

            if user.email_activated:
                return {'msg': "Already confirmed"}, 400

            user.email_activated=True
            user.save_to_data()
            return {'msg': "Registration has been confirmed for email {}".format(user.email)}, 200

        except Exception as e:
            return {'msg':str(e)}, 500