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