def notification_delete(): error = [] if ('notification' not in request.values or not request.values['notification']): error.append('Notification is required') if ('queue' not in request.values or not request.values['queue']): error.append('Queue is required') if not error: queue = request.values['queue']; notification = request.values['notification']; Queue.delete_notification(queue, notification) if error: return jsonify(ok=False, message=', '.join(error)) else: return jsonify(ok=True)
def update_queue_information(self, queue_data): if not "messages" in queue_data: # FIXME: We should do something here, probably delete the queue, # as it's in a weird state. More investigation is required. # See bug 1066338. return None q_size, q_name, q_durable = (queue_data["messages"], queue_data["name"], queue_data["durable"]) queue = Queue.query.filter(Queue.name == q_name).first() # If the queue doesn't exist in the db, create it. if queue is None: m = re.match("queue/([^/]+)/", q_name) logging.info("New queue '{0}' encountered. " "Adding to the database.".format(q_name)) if m: owner_name = m.group(1) owner = PulseUser.query.filter(PulseUser.username == owner_name).first() # If the queue was created by a user that isn't in the # pulseguardian database, skip the queue. if owner is None: logging.info( "Queue '{0}' owner, {1}, isn't in the db. Creating " "the user.".format(q_name, owner_name) ) owner = PulseUser.new_user(owner_name) # Assign the user to the queue. logging.info("Assigning queue '{0}' to user " "{1}.".format(q_name, owner)) else: logging.warn("'{0}' is not a standard queue name.".format(q_name)) owner = None queue = Queue(name=q_name, owner=owner) # Update the saved queue size. queue.size = q_size queue.durable = q_durable db_session.add(queue) db_session.commit() return queue
def _sendemail(self, subject, body, user, queue_data): to_addrs = [] to_addrs.append(user.email.address) to_addrs.append(Queue.get_notifications(queue_data["name"])) sendemail( subject=subject, from_addr=config.email_from, to_addrs=to_addrs, username=config.email_account, password=config.email_password, text_data=body, server=config.email_smtp_server, port=config.email_smtp_port, use_ssl=config.email_ssl, )
def notification_create(): error = [] if ('email' not in request.values or not request.values['email']): error.append('Email is required') if ('queue' not in request.values or not request.values['queue']): error.append('Queue is required') if not error: email = request.values['email'] queue = request.values['queue'] queue_query = Queue.query.filter(Queue.id==queue) if not queue_query.count(): error.append('Queue is not exist') elif Queue.notification_exists(queue, email): error.append('This is email address is exist') else: Queue.create_notification(queue, email) if error: return jsonify(ok=False, message=', '.join(error)) else: return jsonify(ok=True)