Loading services/webapp/code/rosetta/core_app/templates/add_storage.html +11 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,17 @@ <td><b>Bind path</b></td> <td><input type="text" name="bind_path" value="" size="30" /></td> </tr> <tr> <td><b>Group</b></td> <td> <select name="group_id" style="width: 220px;"> <option value="">None</option> {% for group in data.groups %} <option value="{{ group.id }}">{{ group.name }}</option> {% endfor %} </select> </td> </tr> <tr> <td><b>Computing</b></td> <td> Loading services/webapp/code/rosetta/core_app/templates/edit_storage.html +12 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ <div class="container"> <div class="dashboard"> <div class="span8 offset2"> <h1><a href="/storage">Storage resources</a> <span style="font-size:18px"> / <a href="/storage/?uuid={{ data.storage.uuid }}">{{ data.storage.name }}</a> /edit</span></h1> <h1><a href="/storage">Storage resources</a> <span style="font-size:18px"> / <a href="/storage/?manage=True&uuid={{ data.storage.uuid }}">{{ data.storage.name }}</a> /edit</span></h1> <hr> {% if data.error %} Loading Loading @@ -43,6 +43,17 @@ <td><b>Bind path</b></td> <td><input type="text" name="bind_path" value="{{ data.storage.bind_path }}" size="30" /></td> </tr> <tr> <td><b>Group</b></td> <td> <select name="group_id" style="width: 220px;"> <option value="">None</option> {% for group in data.groups %} <option value="{{ group.id }}" {% if data.storage.group and group.id == data.storage.group.id %}selected{% endif %}>{{ group.name }}</option> {% endfor %} </select> </td> </tr> <tr> <td><b>Computing</b></td> <td> Loading services/webapp/code/rosetta/core_app/views.py +31 −1 Original line number Diff line number Diff line Loading @@ -1450,6 +1450,12 @@ def storage(request): def edit_storage(request): data = {} data['user'] = request.user if request.user.is_staff: from django.contrib.auth.models import Group data['groups'] = Group.objects.all() else: from django.contrib.auth.models import Group data['groups'] = request.user.groups.all() storage_uuid = request.GET.get('uuid', None) if not storage_uuid: Loading Loading @@ -1496,6 +1502,16 @@ def edit_storage(request): else: storage.computing = None # Handle group selection group_id = request.POST.get('group_id', None) if group_id: try: storage.group = Group.objects.get(id=group_id) except Group.DoesNotExist: storage.group = None else: storage.group = None # Foreign keys (group, computing) not handled for now conf = request.POST.get('conf', None) if conf: Loading Loading @@ -1773,6 +1789,12 @@ def add_storage(request): data = {} data['user'] = request.user data['added'] = False if request.user.is_staff: from django.contrib.auth.models import Group data['groups'] = Group.objects.all() else: from django.contrib.auth.models import Group data['groups'] = request.user.groups.all() from .models import Computing data['computings'] = Computing.objects.all() if not request.user.is_staff: Loading Loading @@ -1803,6 +1825,13 @@ def add_storage(request): except Exception: data['error'] = 'Invalid conf format (must be JSON dict).' return render(request, 'add_storage.html', {'data': data}) group_id = request.POST.get('group_id', None) group = None if group_id: try: group = Group.objects.get(id=group_id) except Group.DoesNotExist: group = None try: Storage.objects.create( name=name, Loading @@ -1814,7 +1843,8 @@ def add_storage(request): read_only=read_only, browsable=browsable, conf=conf_obj, computing=computing computing=computing, group=group ) data['added'] = True return redirect('/storage/?manage=True') Loading Loading
services/webapp/code/rosetta/core_app/templates/add_storage.html +11 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,17 @@ <td><b>Bind path</b></td> <td><input type="text" name="bind_path" value="" size="30" /></td> </tr> <tr> <td><b>Group</b></td> <td> <select name="group_id" style="width: 220px;"> <option value="">None</option> {% for group in data.groups %} <option value="{{ group.id }}">{{ group.name }}</option> {% endfor %} </select> </td> </tr> <tr> <td><b>Computing</b></td> <td> Loading
services/webapp/code/rosetta/core_app/templates/edit_storage.html +12 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ <div class="container"> <div class="dashboard"> <div class="span8 offset2"> <h1><a href="/storage">Storage resources</a> <span style="font-size:18px"> / <a href="/storage/?uuid={{ data.storage.uuid }}">{{ data.storage.name }}</a> /edit</span></h1> <h1><a href="/storage">Storage resources</a> <span style="font-size:18px"> / <a href="/storage/?manage=True&uuid={{ data.storage.uuid }}">{{ data.storage.name }}</a> /edit</span></h1> <hr> {% if data.error %} Loading Loading @@ -43,6 +43,17 @@ <td><b>Bind path</b></td> <td><input type="text" name="bind_path" value="{{ data.storage.bind_path }}" size="30" /></td> </tr> <tr> <td><b>Group</b></td> <td> <select name="group_id" style="width: 220px;"> <option value="">None</option> {% for group in data.groups %} <option value="{{ group.id }}" {% if data.storage.group and group.id == data.storage.group.id %}selected{% endif %}>{{ group.name }}</option> {% endfor %} </select> </td> </tr> <tr> <td><b>Computing</b></td> <td> Loading
services/webapp/code/rosetta/core_app/views.py +31 −1 Original line number Diff line number Diff line Loading @@ -1450,6 +1450,12 @@ def storage(request): def edit_storage(request): data = {} data['user'] = request.user if request.user.is_staff: from django.contrib.auth.models import Group data['groups'] = Group.objects.all() else: from django.contrib.auth.models import Group data['groups'] = request.user.groups.all() storage_uuid = request.GET.get('uuid', None) if not storage_uuid: Loading Loading @@ -1496,6 +1502,16 @@ def edit_storage(request): else: storage.computing = None # Handle group selection group_id = request.POST.get('group_id', None) if group_id: try: storage.group = Group.objects.get(id=group_id) except Group.DoesNotExist: storage.group = None else: storage.group = None # Foreign keys (group, computing) not handled for now conf = request.POST.get('conf', None) if conf: Loading Loading @@ -1773,6 +1789,12 @@ def add_storage(request): data = {} data['user'] = request.user data['added'] = False if request.user.is_staff: from django.contrib.auth.models import Group data['groups'] = Group.objects.all() else: from django.contrib.auth.models import Group data['groups'] = request.user.groups.all() from .models import Computing data['computings'] = Computing.objects.all() if not request.user.is_staff: Loading Loading @@ -1803,6 +1825,13 @@ def add_storage(request): except Exception: data['error'] = 'Invalid conf format (must be JSON dict).' return render(request, 'add_storage.html', {'data': data}) group_id = request.POST.get('group_id', None) group = None if group_id: try: group = Group.objects.get(id=group_id) except Group.DoesNotExist: group = None try: Storage.objects.create( name=name, Loading @@ -1814,7 +1843,8 @@ def add_storage(request): read_only=read_only, browsable=browsable, conf=conf_obj, computing=computing computing=computing, group=group ) data['added'] = True return redirect('/storage/?manage=True') Loading