1 |
46bbe5fe
|
Serghei MIHAI
|
from django.utils.translation import ugettext_lazy as _
|
2 |
|
|
|
3 |
|
|
def get_channel_choices(include=[], exclude=[]):
|
4 |
|
|
for channel in HomepageChannel, SMSChannel, EmailChannel:
|
5 |
|
|
if include and channel.identifier not in include:
|
6 |
|
|
continue
|
7 |
|
|
if exclude and channel.identifier in exclude:
|
8 |
|
|
continue
|
9 |
|
|
for identifier, display_name in channel.get_choices():
|
10 |
|
|
yield (identifier, display_name)
|
11 |
|
|
|
12 |
|
|
class HomepageChannel(object):
|
13 |
|
|
identifier = 'homepage'
|
14 |
|
|
|
15 |
|
|
@classmethod
|
16 |
|
|
def get_choices(self):
|
17 |
|
|
return (('homepage', _('Homepage')),)
|
18 |
|
|
|
19 |
|
|
class SMSChannel(object):
|
20 |
|
|
|
21 |
|
|
@classmethod
|
22 |
|
|
def get_choices(self):
|
23 |
|
|
return (('sms', _('SMS')),)
|
24 |
|
|
|
25 |
|
|
def send(self, announce):
|
26 |
|
|
pass
|
27 |
|
|
|
28 |
|
|
class EmailChannel(object):
|
29 |
|
|
identifier = 'email'
|
30 |
|
|
|
31 |
|
|
@classmethod
|
32 |
|
|
def get_choices(self):
|
33 |
|
|
return (('email', _('Email')),)
|
34 |
|
|
|
35 |
|
|
def send(self, announce):
|
36 |
|
|
pass
|