Esempio n. 1
0
def night_phase():
    g = GameBoard.objects.get()
    s = g.execute_turn(string=True)
    send_mail("[Consortium] Night phase complete",
              "Night phase successful at %s\n%s" % (datetime.now(), s),
              '*****@*****.**', ['*****@*****.**'],
              fail_silently=True)
Esempio n. 2
0
def app(request, app_id=None):
    game_time = datetime(2013, 3, 1, 6)
    readonly = request.GET.get("readonly", False)
    if request.method == "POST":
        try:
            instance = ConsortiumApp.objects.get(app_id=app_id)
        except ConsortiumApp.DoesNotExist:
            instance = None
        form = AppForm(request.POST, instance=instance)
        if form.is_valid():
            if request.POST["app_submit"] == "Save and Continue Editing":
                app = form.save(commit=False)
                app.saved_on = datetime.now()
                app.save()
                if not instance:
                    send_mail(
                        "[Consortium] Your App Link",
                        render_to_string("app/app_saved_email.html", {"app": app}),
                        "*****@*****.**",
                        [app.email],
                        fail_silently=True,
                        html=render_to_string("app/app_saved_email.html", {"app": app}),
                    )
                messages.success(
                    request, "Saved! You can continue editing, but make sure to save or submit when you're done."
                )
                return redirect(reverse("app", args=[app.app_id]))
            else:
                app = form.save(commit=False)
                app.apped_on = datetime.now()
                app.submitted = True
                app.save()
                form = AppForm(instance=app)
                send_mail(
                    "[Consortium] App from %s" % app.name,
                    render_to_string("app/app_email.html", {"form": form}),
                    "*****@*****.**",
                    ["*****@*****.**", app.email],
                    html=render_to_string("app/app_email.html", {"form": form}),
                )
                return render(request, "app/postapp.html", {"app": app})
        else:
            messages.error(request, "Please correct the problems below.")
    #            return redirect(reverse('app'))
    elif app_id:
        app = get_object_or_404(ConsortiumApp, app_id=app_id)
        form = AppForm(instance=app)
        readonly = request.GET.get("readonly", app.submitted)
    else:
        form = AppForm()

    return render(
        request, "app/app.html", {"form": form, "app_id": app_id, "game_time": game_time, "readonly": readonly}
    )
Esempio n. 3
0
def remind(request, app_id):
    app = get_object_or_404(ConsortiumApp, app_id=app_id)
    due_time = naturaltime(datetime(2013, 3, 1, 6))
    send_mail(
        "[Consortium] App Reminder",
        render_to_string("app/app_reminder.html", {"app": app, "due_time": due_time}),
        "*****@*****.**",
        [app.email],
        fail_silently=True,
        html=render_to_string("app/app_reminder.html", {"app": app, "due_time": due_time}),
    )
    messages.success(request, "Reminded %s." % True)
    return redirect(reverse("dashboard"))
Esempio n. 4
0
def remind_everyone(request):
    due_time = naturaltime(datetime(2013, 3, 1, 6))

    for app in ConsortiumApp.objects.filter(submitted=False):
        send_mail(
            "[Consortium] App Reminder",
            render_to_string("app/app_reminder.html", {"app": app, "due_time": due_time}),
            "*****@*****.**",
            [app.email],
            fail_silently=True,
            html=render_to_string("app/app_reminder.html", {"app": app, "due_time": due_time}),
        )
        messages.success(request, "Reminded %s." % app.name)
    return redirect(reverse("dashboard"))
Esempio n. 5
0
 def mail_to_char(cls, char):
     if not char.user.email: return None
     return send_mail(
         "[Consortium] New in-game mail",
         "You have a new in-game mail.  Go to http://consortium.so/mail/ to check it.",
         "*****@*****.**", [char.user.email],
         fail_silently=True)
Esempio n. 6
0
def gm_view(request, template='askgms/askgms.html'):
    if not request.user.is_superuser: raise Http404
    if request.method == 'POST':
        q = get_object_or_404(Question, id=request.POST.get('qid', None))
        updated = q.answer != ''
        q.answer = request.POST.get('answer')
        q.answered_by = request.POST.get('answered_by')
        q.answered_on = now()
        q.public = request.POST.get('public', False)
        q.save()
        verb = "updated" if updated else "answered"
        send_mail('[Consortium] Question #%s from %s %s by %s' % (q.id, q.asker_email, verb, q.answered_by),
                  "%s %s %s's question: \n\n'%s'\n---\n%s" % (q.answered_by, verb, q.asker_email, q.question, q.answer),
                  '*****@*****.**', ["*****@*****.**", q.asker_email])
        messages.success(request, "Question %s!" % verb)
    questions = Question.objects.all().order_by('-id')
    return render(request, template, {'questions': questions})
Esempio n. 7
0
def player_view(request, template='askgms/askgms.html'):
    if request.method == 'POST':
        email = request.POST.get('email'),
        if not Question.objects.filter(asker_email=email[0] if email else None, question=request.POST.get('question')):
            q = Question(
                asker_email=email[0] if email else None,
                question=request.POST.get('question'),
                public=request.POST.get('public', False)
            )
            q.save()
            send_mail('[Consortium] New question #%s from %s' % (q.id, q.asker_email),
                      "%s has a question: \n\n%s\n\nGo to http://consortium.so/ask/gm/#q%s to answer." % (q.asker_email, q.question, q.id),
                      '*****@*****.**', ["*****@*****.**"])

            messages.success(request, "Question asked! You'll receive an answer as soon as possible.")
        else:
            messages.warning(request, "That question already exists -- just be patient.")
    questions = Question.objects.filter(public=True).exclude(answer='').order_by('-answered_on')
    return render(request, template, {'questions': questions})
Esempio n. 8
0
 def mail_to_char(cls, char):
     if not char.user.email:
         return None
     return send_mail(
         "[Consortium] New in-game mail",
         "You have a new in-game mail.  Go to http://consortium.so/mail/ to check it.",
         "*****@*****.**",
         [char.user.email],
         fail_silently=True,
     )
Esempio n. 9
0
def market_tick():
    # if now().time().hour < 5 or now().time().hour > 6: return "Wrongly fired"
    msg = GameDay.tick()
    send_mail("[Consortium] Tick!", "Tick successful at %s" % datetime.now(), '*****@*****.**',
              ['*****@*****.**'], fail_silently=True)
Esempio n. 10
0
def night_phase():
    g = GameBoard.objects.get()
    s = g.execute_turn(string=True)
    send_mail("[Consortium] Night phase complete", "Night phase successful at %s\n%s" % (datetime.now(), s), '*****@*****.**',
          ['*****@*****.**'], fail_silently=True)
Esempio n. 11
0
def test_task():
    print  "Bagels"
    send_mail("[Consortium] Test!", "Day phase successful at %s" % (datetime.now()), '*****@*****.**',
          ['*****@*****.**'])
Esempio n. 12
0
def test_task():
    print "Bagels"
    send_mail("[Consortium] Test!",
              "Day phase successful at %s" % (datetime.now()),
              '*****@*****.**', ['*****@*****.**'])
Esempio n. 13
0
def check_security_windows():
    windows = EntryWindow.objects.filter(start_time__lte=now(), start_time__gt=now() - timedelta(hours=1))
    for w in windows:
        if w.check_and_notify():
            send_mail("[Consortium] Security window alert!", "Security window triggered: %s" % w, '*****@*****.**',
                  ['*****@*****.**'], fail_silently=True)