def get_message_details(message_id): # TODO: add verification mechanism to verify that user is part of the message (user_id, sender_id, recipient_id) if session.get('email') is None: return render_template("login.jinja2", message="You must be logged in to add items") else: message = Message.get_message_by_id(message_id) if message is not None: user = User.get_user_by_email(collection=UserConstants.COLLECTION, email=session['email']) if (user._id == message.sender_id) or (user._id == message.recipient_id): if (user._id == message.recipient_id): message.mark_massage_read() item = Item.get_item_by_id(message.item_id) messages = Message.get_messages_by_item_id(message.item_id) for reply in messages: if (user._id == reply.recipient_id): reply.mark_massage_read() session['msgs_count'] = Message.get_unread_messages_count( user._id) return render_template("user/messages/message_details.jinja2", user_id=user._id, msgs=messages, item=item) else: return render_template( "message_center.jinja2", message= "you are not allowed to view details of this message") else: return render_template("message_center.jinja2", message="could not find message details")
def approve_item(item_id): # if session.get('admin') is not None: item = Item.get_item_by_id(item_id) if item is not None: item.update_item(attribute_name="approved", attribute_value=True) return make_response(pending_items()) return make_response(pending_items())
def delete_item(item_id): # if session.get('email') is not None: item = Item.get_item_by_id(item_id) if item is not None: user = User.get_user_by_email(email=session['email'], collection=UserConstants.COLLECTION) if item.user_id == user._id: item.remove_item() return make_response(view_items()) return render_template("item/items.jinja2", message="You can't remove item")
def update_contact(): item_id = request.form['pk'] value = request.form['value'] item = Item.get_item_by_id(item_id) item.update_item("contact", value) if session.get('admin') is not None: return render_template("item/item_details.jinja2", item=item) else: item.update_item(attribute_name="approved", attribute_value=False) return render_template( "message_center.jinja2", message="Item will published as soon as the change is approved")
def __init__(self, user_email, price_limit, item_id, _id=None, last_checked=None): self.user_email = user_email self.price_limit = price_limit self.item = Item.get_item_by_id(item_id) self.last_checked = datetime.datetime.utcnow( ) if last_checked is None else last_checked self._id = uuid.uuid4().hex if _id is None else _id
def edit_item(item_id, attribute_name, attribute_value): item = Item.get_item_by_id(item_id) if item is not None: item.update_item(attribute_name=attribute_name, attribute_value=attribute_value) if session.get('admin') is not None: return render_template("item/item_details.jinja2", item=item) else: item.update_item(attribute_name="approved", attribute_value=False) return render_template( "message_center.jinja2", message="Item will published as soon as the change is approved" ) else: return render_template( "message_center.jinja2", message= "Could not update Item {} . Contact Us if you need further information!" .format(item.title))
def item_details(item_id): item = Item.get_item_by_id(item_id) if item is not None: if session.get('email') is not None: user = User.get_user_by_email(email=session['email'], collection=UserConstants.COLLECTION) session['msgs_count'] = Message.get_unread_messages_count(user._id) if (user._id == item.user_id) or (session.get('admin') is not None): return render_template("item/item_details.jinja2", item=item, editable=True) else: return render_template("item/item_details.jinja2", item=item) else: return render_template("item/item_details.jinja2", item=item) else: return render_template( "message_center.jinja2", message= "Item {} does not have details. Contact Us if you need further information!" .format(item.title))