Exemple #1
0
def edit_single(id):

    message = Message.query.filter_by(id=id).first()
    form = MessageForm()
    if 'email' not in session:
        flash('Login to Modify this Note', 'danger')
        return redirect('/login')

    usr_in_ses = User.query.filter_by(email=session['email']).first()
    if not usr_in_ses.admin:
        if usr_in_ses.email != message.owner.email:
            flash('Unauthorized to Edit this Note', 'danger')
            return redirect(f'/messages/single/{message.id}')

    if form.validate_on_submit():
        message.title = form.title.data
        message.content = form.content.data
        message.category = form.category.data
        message.shift = form.shift.data
        message.pub_date = datetime.utcnow()
        message.status = 0
        db.session.commit()
        flash('Successfully updated note', 'success')
        return redirect('/messages')

    return render_template('messages/edit.html',
                           title="Edit",
                           form=form,
                           message=message)
Exemple #2
0
def new_message(request, template):
    """Send a new private message."""
    to = request.GET.get('to')
    if to:
        try:
            User.objects.get(username=to)
        except User.DoesNotExist:
            contrib_messages.add_message(
                request, contrib_messages.ERROR,
                _('Invalid username provided. Enter a new username below.'))
            return HttpResponseRedirect(reverse('messages.new'))

    form = MessageForm(request.POST or None, initial={'to': to})

    if request.method == 'POST' and form.is_valid():
        send_message(form.cleaned_data['to'], form.cleaned_data['message'],
                     request.user)
        if form.cleaned_data['in_reply_to']:
            irt = form.cleaned_data['in_reply_to']
            try:
                m = InboxMessage.objects.get(pk=irt, to=request.user)
                m.update(replied=True)
            except InboxMessage.DoesNotExist:
                pass
        contrib_messages.add_message(request, contrib_messages.SUCCESS,
                                     _('Your message was sent!'))
        return HttpResponseRedirect(reverse('messages.inbox'))

    return render(request, template, {'form': form})
Exemple #3
0
def new_message(request, template):
    """Send a new private message."""
    to = request.GET.get('to')
    if to:
        try:
            User.objects.get(username=to)
        except User.DoesNotExist:
            contrib_messages.add_message(
                request, contrib_messages.ERROR,
                _('Invalid username provided. Enter a new username below.'))
            return HttpResponseRedirect(reverse('messages.new'))

    form = MessageForm(request.POST or None, initial={'to': to})

    if request.method == 'POST' and form.is_valid():
        send_message(form.cleaned_data['to'], form.cleaned_data['message'],
                     request.user)
        if form.cleaned_data['in_reply_to']:
            irt = form.cleaned_data['in_reply_to']
            try:
                m = InboxMessage.objects.get(pk=irt, to=request.user)
                m.update(replied=True)
            except InboxMessage.DoesNotExist:
                pass
        contrib_messages.add_message(request, contrib_messages.SUCCESS,
                                     _('Your message was sent!'))
        return HttpResponseRedirect(reverse('messages.inbox'))

    return render(request, template, {'form': form})
def search():

    new_u = True if badge_urgent() else False
    new_g = True if badge_general() else False
    form = MessageForm()

    search_key = ''

    messages = []
    data = Message.query.order_by(
        Message.pub_date.desc()).filter(Message.title != 'daily-task').all()
    if 'search_key' in request.args:
        search_key += request.args.get('search_key')

        for message in data:
            if search_key.lower() in message.content.lower():
                if message not in messages:
                    messages.append(message)
            if search_key.lower() in message.title.lower():
                if message not in messages:
                    messages.append(message)

    return render_template('messages/search-result.html',
                           title="Search Result",
                           messages=messages,
                           form=form,
                           new_g=new_g,
                           new_u=new_u,
                           search_key=search_key)
def newpost():

    if 'email' not in session:
        flash('Login to Leave a Note', 'danger')
        return redirect('/login')

    form = MessageForm()
    owner = User.query.filter_by(email=session['email']).first()
    if form.validate_on_submit():
        message = Message(title=form.title.data,
                          content=form.content.data,
                          category=form.category.data,
                          shift=form.shift.data,
                          owner=owner)
        db.session.add(message)
        db.session.commit()
        flash("Posted Note Successfully", 'success')
        return redirect('/messages')
Exemple #6
0
def new_message(request):
    form = MessageForm(request.POST or None)

    if request.method == 'POST' and form.is_valid():
        send_message(form.cleaned_data['to'], form.cleaned_data['message'],
                     request.user)
        if form.cleaned_data['in_reply_to']:
            irt = form.cleaned_data['in_reply_to']
            try:
                m = InboxMessage.objects.get(pk=irt, to=request.user)
                m.update(replied=True)
            except InboxMessage.DoesNotExist:
                pass
        contrib_messages.add_message(request, contrib_messages.SUCCESS,
                                     _('Your message was sent!'))
        return HttpResponseRedirect(reverse('messages.inbox'))

    return jingo.render(request, 'messages/new.html', {'form': form})
Exemple #7
0
def new_message(request):
    form = MessageForm(request.POST or None)

    if request.method == 'POST' and form.is_valid():
        send_message(form.cleaned_data['to'], form.cleaned_data['message'],
                     request.user)
        if form.cleaned_data['in_reply_to']:
            irt = form.cleaned_data['in_reply_to']
            try:
                m = InboxMessage.objects.get(pk=irt, to=request.user)
                m.update(replied=True)
            except InboxMessage.DoesNotExist:
                pass
        contrib_messages.add_message(request, contrib_messages.SUCCESS,
                                     _('Your message was sent!'))
        return HttpResponseRedirect(reverse('messages.inbox'))

    return jingo.render(request, 'messages/new.html', {'form': form})
Exemple #8
0
def messages_add():
    """Add a message:

    Show form if GET. If valid, update message and redirect to user page.
    """

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    form = MessageForm()

    if form.validate_on_submit():
        msg = Message(text=form.text.data)
        g.user.messages.append(msg)
        db.session.commit()

        return redirect(f"/users/{g.user.id}")

    return render_template('messages/new.html', form=form)
Exemple #9
0
def single(id):
    new_u = True if badge_urgent(
    ) else False  # This is for the urgent note badge
    new_g = True if badge_general(
    ) else False  # This is for the general note badge
    message = Message.query.filter_by(id=id).first()

    edit_form = MessageForm()
    edit_form.title.data = message.title
    edit_form.category.data = message.category
    edit_form.shift.data = message.shift
    edit_form.content.data = message.content

    add_form = MessageForm()

    return render_template('messages/single.html',
                           title=message.title,
                           message=message,
                           edit_form=edit_form,
                           add_form=add_form,
                           new_g=new_g,
                           new_u=new_u)
def messages(category):

    new_u = True if badge_urgent(
    ) else False  # This is for the urgent note badge
    new_g = True if badge_general(
    ) else False  # This is for the general note badge

    form = MessageForm()

    messages = message_query(category.lower())
    return render_template('messages/messages.html',
                           title=f"{category} Messages",
                           messages=messages,
                           mark="Mark Completed",
                           new_g=new_g,
                           new_u=new_u,
                           form=form,
                           category=category)
def mark_completion(id):

    new_u = True if badge_urgent(
    ) else False  # This is for the urgent note badge
    new_g = True if badge_general(
    ) else False  # This is for the general note badge

    form = MessageForm()
    completed_by = ''

    if request.method == 'POST':
        if 'email' not in session:
            flash('Login to Mark this Note', 'danger')
            return redirect('/login')
        message = Message.query.filter_by(id=id).first()
        user = User.query.filter_by(email=session['email']).first()
        if message.status == 1:
            message.status = 0
            message.completed_by = ''
            db.session.commit()
            flash(f"{message.title} unmarked as complete by {user.name}",
                  'warning')
            return redirect('/messages/completed')
        else:
            message.status = 1
            message.completed_by = user.name
            db.session.commit()
            completed_by = message.completed_by
            flash(f"{message.title} marked complete by {user.name}", 'success')
            return redirect('/messages')

    messages = message_query('completed')
    return render_template('messages/messages.html',
                           title="Completed Messages",
                           messages=messages,
                           completed_by=completed_by,
                           form=form,
                           category='completed',
                           new_g=new_g,
                           new_u=new_u)
Exemple #12
0
def new_message(request):
    user = request.user
    profile = Profile.objects.get(user=user)
    try:
        ganaderia = Ganaderia.objects.get(perfil=user)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))

    number_message = Message.objects.filter(Q(receiver_id=user.id), Q(front=True), Q(read_at=False)).count()
    msg_complete = Message.objects.all().order_by('sent_at')

    date_now = datetime.datetime.today()
    if request.method == 'POST':
        form_message = MessageForm(request.POST)
        if form_message.is_valid():
            form_message = form_message.save(commit=False)
            form_message.sender = profile
            form_message.sent_at = date_now
            form_message.read_at = False
            for i in msg_complete:
                if ((i.receiver_id == form_message.receiver_id) & (i.sender_id == form_message.sender_id)) | ((i.sender_id == form_message.receiver_id) & (i.receiver_id == form_message.sender_id)):
                    i.front = False
                    i.save()
            form_message.front = True
            form_message.save()

            number_message = number_messages(request, str(form_message.receiver_id))
            data = serializers.serialize("json", User.objects.all())

            ishout_client.emit(
                    form_message.receiver_id,
                    'alertchannel',
                    data = {'msg': data,
                        'number_messages': number_message,}
                    )

            return HttpResponseRedirect(reverse('messages_list'))
            # return redirect(reverse('messages_list'))

    else:
        form_message = MessageForm()
        profile_model = get_profile_model()
        ganaderia = Ganaderia.objects.get(perfil=user)
        receivers = profile_model.objects.get_visible_profiles(user).select_related().exclude(id=user.id).filter(ganaderia_perfil=ganaderia)
    return render_to_response('new_message.html',
            {'form': form_message,
                'number_messages': number_message,
                'receivers': receivers,
                },
            context_instance=RequestContext(request))