]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - webapp/handlers_talk.py
5 from handlers_base
import *
7 class TalkIndexHandler(BaseHandler
):
8 @tornado.web
.authenticated
10 call_log
= self
.talk
.get_call_log(self
.current_user
, limit
=6)
11 favourite_contacts
= self
.talk
.get_favourite_contacts(self
.current_user
)
13 if self
.current_user
.is_admin():
14 ongoing_calls
= self
.talk
.get_ongoing_calls()
16 ongoing_calls
= self
.talk
.get_ongoing_calls(self
.current_user
)
18 self
.render("talk/index.html", call_log
=call_log
,
19 favourite_contacts
=favourite_contacts
, ongoing_calls
=ongoing_calls
)
22 class TalkPhonebookHandler(BaseHandler
):
23 @tornado.web
.authenticated
25 phonebook
= self
.talk
.get_phonebook(self
.current_user
)
27 self
.render("talk/phonebook.html", phonebook
=phonebook
)
30 class TalkPhonebookAccountHandler(BaseHandler
):
31 @tornado.web
.authenticated
33 account
= self
.accounts
.find(uid
)
35 raise tornado
.web
.HTTPError(404, "Account not found: %s" % uid
)
37 self
.render("talk/phonebook-contact.html", account
=account
)
40 class TalkDiagnosisHandler(BaseHandler
):
41 @tornado.web
.authenticated
43 return self
.render("talk/diagnosis.html")
46 class TalkConferencesHandler(BaseHandler
):
47 @tornado.web
.authenticated
49 return self
.render("talk/conferences.html",
50 conferences
=self
.talk
.conferences
)
53 class TalkConferencesInviteHandler(BaseHandler
):
54 @tornado.web
.authenticated
55 def get(self
, conference_id
, invitee_id
):
56 # Check for the conference room
57 conference
= self
.talk
.get_conference(conference_id
)
59 raise tornado
.web
.HTTPError(400)
61 # Ccheck for the invitee
62 invitee
= self
.accounts
.get_by_sip_id(invitee_id
)
64 raise tornado
.web
.HTTPError(400)
67 self
.talk
.initiate_call(invitee
.sip_id
, conference_id
)
69 self
.render("talk/conference-invite.html", invitee
=invitee
,
70 conference
=conference
)
73 class TalkInitiateCallHandler(BaseHandler
):
74 @tornado.web
.authenticated
75 def get(self
, called_id
, caller
=None):
76 if not self
.current_user
.sip_id
:
77 raise tornado
.web
.HTTPError(400)
79 called
= self
.accounts
.get_by_sip_id(called_id
)
81 self
.talk
.initiate_call(self
.current_user
.sip_id
, called_id
)
83 next
= self
.get_argument("next", None)
85 next
= self
.request
.headers
.get("Referer")
87 self
.render("talk/initiate-call.html", caller
=self
.current_user
,
88 called
=called
, called_id
=called_id
, next
=next
)
91 class TalkProfileHandler(BaseHandler
):
92 @tornado.web
.authenticated
94 return self
.redirect("/phonebook/%s" % self
.current_user
.uid
)