]> git.ipfire.org Git - ipfire.org.git/blame - src/web/people.py
people: Drop old calls page
[ipfire.org.git] / src / web / people.py
CommitLineData
2cd9af74
MT
1#!/usr/bin/python
2
bdaf6b46 3import datetime
e96e445b 4import ldap
2cd9af74
MT
5import tornado.web
6
124a8404 7from . import base
786e9ca8
MT
8from . import ui_modules
9
da24ac0a 10class IndexHandler(base.BaseHandler):
786e9ca8
MT
11 @tornado.web.authenticated
12 def get(self):
15bb44ee 13 self.render("people/index.html")
786e9ca8 14
2cd9af74 15
da24ac0a 16class ConferencesHandler(base.BaseHandler):
30aeccdb
MT
17 @tornado.web.authenticated
18 def get(self):
19 self.render("people/conferences.html", conferences=self.backend.talk.conferences)
20
21
da24ac0a 22class SubscribeHandler(base.BaseHandler):
92c4b559
MT
23 @tornado.web.authenticated
24 def post(self):
25 # Give consent
26 self.current_user.consents_to_promotional_emails = True
27
28 self.render("people/subscribed.html")
29
30
da24ac0a 31class UnsubscribeHandler(base.BaseHandler):
92c4b559
MT
32 @tornado.web.authenticated
33 def get(self):
34 if self.current_user.consents_to_promotional_emails:
35 return self.render("people/unsubscribe.html")
36
37 self.render("people/unsubscribed.html")
38
39 @tornado.web.authenticated
40 def post(self):
41 # Withdraw consent
42 self.current_user.consents_to_promotional_emails = False
43
44 self.render("people/unsubscribed.html")
45
46
da24ac0a 47class SIPHandler(base.BaseHandler):
e0daee8f
MT
48 @tornado.web.authenticated
49 def get(self, uid):
50 account = self.backend.accounts.get_by_uid(uid)
51 if not account:
52 raise tornado.web.HTTPError(404, "Could not find account %s" % uid)
53
54 # Check for permissions
55 if not account.can_be_managed_by(self.current_user):
56 raise tornado.web.HTTPError(403, "%s cannot manage %s" % (self.current_user, account))
57
58 self.render("people/sip.html", account=account)
59
60
c66f2152
MT
61class AgentModule(ui_modules.UIModule):
62 def render(self, account):
63 return self.render_string("people/modules/agent.html", account=account)
64
65
786e9ca8
MT
66class ChannelsModule(ui_modules.UIModule):
67 def render(self, account):
1f38be5a
MT
68 return self.render_string("people/modules/channels.html",
69 account=account, channels=account.sip_channels)
786e9ca8
MT
70
71
b5e2077f 72class PasswordModule(ui_modules.UIModule):
56894a8b 73 def render(self, account=None):
b5e2077f
MT
74 return self.render_string("people/modules/password.html", account=account)
75
76 def javascript_files(self):
77 return "js/zxcvbn.js"
78
79 def embedded_javascript(self):
80 return self.render_string("people/modules/password.js")
81
82
786e9ca8
MT
83class RegistrationsModule(ui_modules.UIModule):
84 def render(self, account):
85 return self.render_string("people/modules/registrations.html", account=account)