Пример #1
0
def network():
    form = SendMessageForm()
    nodes_choices = [(node.id, str(node)) for node in app.config['NETWORK'].nodes]
    form.source.choices = nodes_choices
    form.target.choices = nodes_choices
    result = None
    if form.validate_on_submit():
        args = [form.source.data, form.target.data, form.message_size.data, form.packet_size.data]
        if form.virtual_circuit.data:
            result = app.config['NETWORK'].virtual_circuit(*args)
        elif form.datagram.data:
            result = app.config['NETWORK'].datagram(*args)
    return render_template('index.html', form=form, result=result)
Пример #2
0
def show_draft(contract_id):
    msg_form = SendMessageForm()
    contract = db.session.query(Contract).join(Template).filter(Contract.id == contract_id).first_or_404()
    if msg_form.validate_on_submit():
        m = DealMessage(contract_id=(contract.parent_id or contract.id), message=msg_form.message.data, user_id=current_user.id, timestamp=datetime.now())
        db.session.add(m)
        db.session.commit()
        msg = Message(subject='Someone sent you a message', sender='*****@*****.**', recipients=[p.user.email for p in contract.party if p.user_id != current_user.id], html='<h1>New Message</h1><p>Please click <a href="' + url_for('show_draft', contract_id=contract_id, _external=True) + '">here</a> to view the message.</p>')
        mail.send(msg)
        msg_form.message.data = ''
    parties = db.session.query(Party).join(Contract).filter(Contract.id == contract_id).all()
    parent = None
    if contract.parent_id is not None:
        parent = db.session.query(Contract).join(Template).filter(Contract.id == contract.parent_id).first()
    activity_log = db.session.query(ActivityLog).filter(ActivityLog.contract_id.in_([contract.id, contract.parent_id])).all()
    deal_message = db.session.query(DealMessage).filter(DealMessage.contract_id.in_([contract.id, contract.parent_id])).all()
    timeline = [(a.timestamp, 'action', a.user.username, a.contract.memo, a.description) for a in activity_log] + [(m.timestamp, 'message', m.user.username, '[N/A]', m.message) for m in deal_message]
    return render_template('contract.html', msg_form=msg_form, contract=contract, parties=parties, transitions=contract_transitions, parent=parent, timeline=sorted(timeline, key=lambda x:x[0]))
Пример #3
0
def messages():
    try:
        chat_id = int(request.args.get('chat'))
        chat = Chat.query.get(chat_id)
        form = SendMessageForm()
        if form.validate_on_submit():
            user = User.query.get(int(current_user.get_id()))
            message = Message(message=form.message.data,
                              sent_from=user,
                              chat=chat)
            db.session.add(message)
            db.session.commit()
        messages = []
        for message in chat.messages:
            messages.append({
                'author': message.sent_from.username,
                'text': message.message
            })
        return render_template('messages.html', form=form, messages=messages)
    except Exception as e:
        print(e)
        return redirect(url_for('dialogues'))