Revision a7752e95

b/snf-astakos-app/astakos/im/management/commands/fix-superusers.py
1
# Copyright 2012 GRNET S.A. All rights reserved.
2
#
3
# Redistribution and use in source and binary forms, with or
4
# without modification, are permitted provided that the following
5
# conditions are met:
6
#
7
#   1. Redistributions of source code must retain the above
8
#      copyright notice, this list of conditions and the following
9
#      disclaimer.
10
#
11
#   2. Redistributions in binary form must reproduce the above
12
#      copyright notice, this list of conditions and the following
13
#      disclaimer in the documentation and/or other materials
14
#      provided with the distribution.
15
#
16
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
# POSSIBILITY OF SUCH DAMAGE.
28
#
29
# The views and conclusions contained in the software and
30
# documentation are those of the authors and should not be
31
# interpreted as representing official policies, either expressed
32
# or implied, of GRNET S.A.
33
:
34
from optparse import make_option
35
from datetime import datetime
36

  
37
from django.core.management.base import NoArgsCommand, CommandError
38

  
39
from astakos.im.models import fix_superusers
40

  
41

  
42
class Command(NoArgsCommand):
43
    help = "Turn superusers created by syncdb to AstakosUser"
44

  
45
    def handle(self, **options):
46
        try:
47
            fix_superusers()
48
        except BaseException, e:
49
            raise CommandError(e
b/snf-astakos-app/astakos/im/models.py
2530 2530
    except BaseException, e:
2531 2531
        logger.exception(e)
2532 2532

  
2533

  
2534
def fix_superusers(sender, **kwargs):
2533
def fix_superusers():
2535 2534
    # Associate superusers with AstakosUser
2536 2535
    admins = User.objects.filter(is_superuser=True)
2537 2536
    for u in admins:
2538 2537
        create_astakos_user(u)
2539
post_syncdb.connect(fix_superusers)
2540

  
2541 2538

  
2542 2539
def user_post_save(sender, instance, created, **kwargs):
2543 2540
    if not created:
......
2560 2557
        instance.renew_token()
2561 2558
pre_save.connect(renew_token, sender=AstakosUser)
2562 2559
pre_save.connect(renew_token, sender=Service)
2563

  

Also available in: Unified diff