0001-add-corbo-privisioning-agent-12910.patch
hobo/agent/corbo/__init__.py | ||
---|---|---|
1 |
default_app_config = 'hobo.agent.corbo.apps.CorboAgentConfig' |
hobo/agent/corbo/apps.py | ||
---|---|---|
1 |
# hobo - portal to configure and deploy applications |
|
2 |
# Copyright (C) 2015 Entr'ouvert |
|
3 |
# |
|
4 |
# This program is free software: you can redistribute it and/or modify it |
|
5 |
# under the terms of the GNU Affero General Public License as published |
|
6 |
# by the Free Software Foundation, either version 3 of the License, or |
|
7 |
# (at your option) any later version. |
|
8 |
# |
|
9 |
# This program is distributed in the hope that it will be useful, |
|
10 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
# GNU Affero General Public License for more details. |
|
13 |
# |
|
14 |
# You should have received a copy of the GNU Affero General Public License |
|
15 |
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
16 | ||
17 |
from django.apps import AppConfig |
|
18 | ||
19 |
class CorboAgentConfig(AppConfig): |
|
20 |
name = 'hobo.agent.corbo' |
|
21 |
label = 'corbo_agent' |
|
22 |
verbose_name = 'Corbo Agent' |
hobo/agent/corbo/management/commands/hobo_notify.py | ||
---|---|---|
1 |
# hobo - portal to configure and deploy applications |
|
2 |
# Copyright (C) 2015 Entr'ouvert |
|
3 |
# |
|
4 |
# This program is free software: you can redistribute it and/or modify it |
|
5 |
# under the terms of the GNU Affero General Public License as published |
|
6 |
# by the Free Software Foundation, either version 3 of the License, or |
|
7 |
# (at your option) any later version. |
|
8 |
# |
|
9 |
# This program is distributed in the hope that it will be useful, |
|
10 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
# GNU Affero General Public License for more details. |
|
13 |
# |
|
14 |
# You should have received a copy of the GNU Affero General Public License |
|
15 |
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
16 | ||
17 |
from hobo.agent.common.management.commands.hobo_notify import Command as CommonCommand |
|
18 | ||
19 |
from corbo.models import Subscription |
|
20 | ||
21 |
class Command(CommonCommand): |
|
22 | ||
23 |
@classmethod |
|
24 |
def process_notification(cls, tenant, notification): |
|
25 |
super(CommonCommand, self).process_notification(cls, tenant, notification) |
|
26 |
action = notification['@type'] |
|
27 |
data = notification['objects']['data'] |
|
28 |
for obj in data: |
|
29 |
for s in Subscription.objects.filter(uuid=obj['uuid']): |
|
30 |
if action == 'provision': |
|
31 |
if s.identifier.startswith('mailto:'): |
|
32 |
s.identifier = 'mailto:%s' % obj['email'] |
|
33 |
elif s.identifier.startswith('sms:'): |
|
34 |
s.identifier = 'sms:%s' % obj['mobile'] |
|
35 |
s.save() |
|
36 |
elif action == 'deprovision': |
|
37 |
s.delete() |
|
0 |
- |