Revision 4161cb70 snf-astakos-app/astakos/im/models.py

b/snf-astakos-app/astakos/im/models.py
68 68
from astakos.im.settings import (
69 69
    DEFAULT_USER_LEVEL, INVITATIONS_PER_LEVEL,
70 70
    AUTH_TOKEN_DURATION, EMAILCHANGE_ACTIVATION_DAYS, LOGGING_LEVEL,
71
    SITENAME, SERVICES, MODERATION_ENABLED, RESOURCES_PRESENTATION_DATA,
71
    SITENAME, MODERATION_ENABLED,
72 72
    PROJECT_MEMBER_JOIN_POLICIES, PROJECT_MEMBER_LEAVE_POLICIES, PROJECT_ADMINS)
73 73
from astakos.im import settings as astakos_settings
74 74
from astakos.im import auth_providers as auth
......
79 79
from astakos.quotaholder.api import QH_PRACTICALLY_INFINITE
80 80
from synnefo.lib.db.intdecimalfield import intDecimalField
81 81
from synnefo.util.text import uenc, udec
82
from astakos.im.presentation import RESOURCES_PRESENTATION_DATA
82 83

  
83 84
logger = logging.getLogger(__name__)
84 85

  
......
216 217
            return '%ss' % self.display_name
217 218
        return self.display_name
218 219

  
219
def load_service_resources():
220
    ss = []
221
    rs = []
222
    counter = 0
223
    for service_name, data in sorted(SERVICES.iteritems()):
224
        url = data.get('url')
225
        order = data.get('order', counter)
226
        counter = order + 1
227
        resources = data.get('resources') or ()
228
        service, created = Service.objects.get_or_create(
229
            name=service_name,
230
            defaults={'url': url, 'order': order}
231
        )
232
        if not created and url is not None:
233
            service.url = url
234
            service.save()
235

  
236
        ss.append(service)
237

  
238
        for resource in resources:
239
            try:
240
                resource_name = resource.pop('name', '')
241
                r, created = Resource.objects.get_or_create(
242
                        service=service, name=resource_name,
243
                        defaults=resource)
244
                if not created:
245
                    r.desc = resource['desc']
246
                    r.unit = resource.get('unit', None)
247
                    r.group = resource['group']
248
                    r.uplimit = resource['uplimit']
249
                    r.save()
250

  
251
                rs.append(r)
252

  
253
            except Exception, e:
254
                print "Cannot create resource ", resource_name
255
                import traceback; traceback.print_exc()
256
                continue
257

  
258

  
259 220
def get_resource_names():
260 221
    _RESOURCE_NAMES = []
261 222
    resources = Resource.objects.select_related('service').all()

Also available in: Unified diff