9e262da2b6a14217f519d3830286ef4505e7d5dd
[tine20] / scripts / packaging / Univention / listener / tine20.py
1 # -*- coding: utf-8 -*-
2 #
3 # Tine 2.0 for UCS
4 #  listener module
5 #
6 # Copyright 2012-2012 by Metaways Infosystems GmbH
7 #
8 # http://www.metaways.de/
9 #
10 # All rights reserved.
11 #
12 # The source code of this program is made available
13 # under the terms of the GNU Affero General Public License version 3
14 # (GNU AGPL V3) as published by the Free Software Foundation.
15 #
16 # Binary versions of this program provided by Univention to you as
17 # well as other copyrighted, protected or trademarked materials like
18 # Logos, graphics, fonts, specific documentations and configurations,
19 # cryptographic keys etc. are subject to a license agreement between
20 # you and Univention and not subject to the GNU AGPL V3.
21 #
22 # In the case you use this program under the terms of the GNU AGPL V3,
23 # the program is provided in the hope that it will be useful,
24 # but WITHOUT ANY WARRANTY; without even the implied warranty of
25 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 # GNU Affero General Public License for more details.
27 #
28 # You should have received a copy of the GNU Affero General Public
29 # License with the Debian GNU/Linux or Univention distribution in file
30 # /usr/share/common-licenses/AGPL-3; if not, see
31 # <http://www.gnu.org/licenses/>.
32
33 __package__=''     # workaround for PEP 366
34 import listener
35 import subprocess
36 import univention.debug
37
38 name='tine20'
39 description='update database of Tine 2.0 on changes in UCS LDAP'
40 filter='(&(objectClass=posixAccount))'
41 attributes=[]
42
43 def handler(dn, new, old):
44     if new and not old:
45         univention.debug.debug(univention.debug.LISTENER, univention.debug.PROCESS, 'tine20: new user')
46     
47     if new and old:
48         univention.debug.debug(univention.debug.LISTENER, univention.debug.PROCESS, 'tine20: update user')
49     
50     if not new and old:
51         univention.debug.debug(univention.debug.LISTENER, univention.debug.PROCESS, 'tine20: delete user')