templates_staticdir = $(templatesdir)/static
+templates_talk_DATA = \
+ src/templates/talk/base.html \
+ src/templates/talk/index.html
+
+templates_talkdir = $(templatesdir)/talk
+
# ------------------------------------------------------------------------------
SCSS_FILES = \
name = name.replace("ΓΌ", "ue")
for mail in self.attributes.get("mail", []):
- if mail.startswith("%s@ipfire.org" % name):
+ if mail.decode().startswith("%s@ipfire.org" % name):
return mail
# If everything else fails, we will go with the UID
--- /dev/null
+{% extends "../base.html" %}
+
+{% block subtitle %}{{ _("Talk") }}{% end block %}
+
+{% block menu %}
+ <form class="form-inline ml-auto my-2 my-lg-0" action="/search" method="GET">
+ <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
+ placeholder="{{ _("Search") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
+ </form>
+
+ <ul class="navbar-nav">
+ <li class="nav-item">
+ <a class="nav-link" href="https://www.ipfire.org/">IPFire.org</a>
+ </li>
+ </ul>
+{% end block %}
+
+{% block content %}
+ <div class="row">
+ <div class="col">
+ {% block main %}{% end block %}
+ </div>
+
+ <div class="col-md-3 text-center">
+ <img class="img-fluid rounded-circle mb-4" src="{{ current_user.gravatar_icon(160) }}" alt="{{ current_user }}" />
+
+ <p>{{ current_user.name }}</p>
+
+ <a href="mailto:{{ current_user.email }}">Email</a>
+ </div>
+ </div>
+{% end block %}
-{% extends "../base.html" %}
+{% extends "base.html" %}
-{% block title %}{{ _("Index") }}{% end block %}
+{% block title %}{{ _("Home") }}{% end block %}
-{% block body %}
-<div class="container">
- <section class="features-content col-12">
- <div class="row">
- <div class="col-12">
- <h3>{{ _("Hello, %s!") % current_user.first_name or current_user.name }}</h3>
- </div>
- </div>
-
- {% if favourite_contacts %}
- <div class="row">
- {% for contact in favourite_contacts %}
- <div class="col-md-4">
- <div class="thumbnail">
- <div class="row">
- <div class="col-md-4 hidden-sm hidden-xs">
- {% if contact.called_account %}
- <img src="{{ contact.called_account.gravatar_icon(106) }}" alt="{{ contact.called_account.name }}">
- {% end %}
- </div>
- <div class="col-md-8">
- <div class="caption">
- {% if contact.called_account %}
- <h4>
- <a href="/phonebook/{{ contact.called_account.uid }}">
- {{ contact.called_account.name }}
- </a>
- </h4>
- {% else %}
- <h4>{{ contact.called }}</h4>
- {% end %}
- <p>
- <a href="/call/{{ contact.called }}" class="btn btn-sm {% if contact.called_account and contact.called_account.sip_is_online() %}btn-success{% else %}btn-danger disabled{% end %}" role="button">
- <span class="glyphicon glyphicon-earphone"></span> {{ _("Call") }}
- </a>
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- {% end %}
- </div>
- {% end %}
-
- {% module TalkOngoingCalls(current_user) %}
-
- {% module TalkCallLog(current_user) %}
- </section>
-</div>
+{% block main %}
+ XXX
{% end block %}
class TalkIndexHandler(BaseHandler):
@tornado.web.authenticated
def get(self):
- call_log = self.talk.get_call_log(self.current_user, limit=6)
- favourite_contacts = self.talk.get_favourite_contacts(self.current_user)
-
- self.render("talk/index.html", call_log=call_log,
- favourite_contacts=favourite_contacts)
+ self.render("talk/index.html")
class TalkPhonebookHandler(BaseHandler):