Revision 8816f1ad

b/admin/templates/base.html
27 27
      <li{% ifequal tab "users" %} class="active"{% endifequal %}>
28 28
        <a href="/admin/users">Users</a>
29 29
      </li>
30
      <li{% ifequal tab "invitations" %} class="active"{% endifequal %}>
31
        <a href="/admin/invitations">Invitations</a>
32
      </li>
30 33
    </ul>
31 34

  
32 35
    {% block body %}{% endblock %}
b/admin/templates/images_list.html
19 19
    <tr>
20 20
      <td><a href="/admin/images/{{ image.id }}">{{ image.id }}</a></td>
21 21
      <td><a href="/admin/images/{{ image.id }}">{{ image.name }}</a></td>
22
      <td>{{ image.owner.id }}</td>
22
      <td><a href="/admin/users/{{ image.owner.id }}">{{ image.owner.name }}</a></td>
23 23
      <td>{{ image.state }}</td>
24 24
      <td>{{ image.backend_id }}</td>
25 25
      <td>{{ image.format }}</td>
b/admin/templates/servers_list.html
19 19
    <tr>
20 20
      <td>{{ vm.id }}</td>
21 21
      <td>{{ vm.name }}</td>
22
      <td>{{ vm.owner.id }}</td>
22
      <td><a href="/admin/users/{{ vm.owner.id }}">{{ vm.owner.name }}</a></td>
23 23
      <td>{{ vm.operstate }}</td>
24
      <td>{{ vm.flavor.name }}</td>
25
      <td>{{ vm.image.name }}</td>
24
      <td><a href="/admin/flavors/{{ vm.flavor.id }}">{{ vm.flavor.name }}</a></td>
25
      <td><a href="/admin/images/{{ vm.image.id }}">{{ vm.image.name }}</a></td>
26 26
      <td>{{ vm.deleted }}</td>
27 27
      <td>{{ vm.updated }}</td>
28 28
    </tr>
b/admin/urls.py
23 23
    (r'^/users/(\d+)/?$', 'users_info'),
24 24
    (r'^/users/(\d+)/modify/?$', 'users_modify'),
25 25
    (r'^/users/(\d+)/delete/?$', 'users_delete'),
26

  
27
    (r'^/invitations/?$', 'invitations_list'),
28
    (r'^/invitations/(\d+)/resend/?$', 'invitations_resend'),
26 29
)
27 30

  
28 31
urlpatterns += patterns('',
b/admin/views.py
183 183
    user = models.SynnefoUser.objects.get(id=user_id)
184 184
    users.delete_user(user)
185 185
    return redirect(users_list)
186

  
187

  
188
def invitations_list(request):
189
    invitations = models.Invitations.objects.order_by('id')
190
    html = render('invitations_list.html', 'invitations',
191
                     invitations=invitations)
192
    return HttpResponse(html)
193

  
194
def invitations_resend(request, invitation_id):
195
    invitation = models.Invitations.objects.get(id=invitation_id)
196
    send_invitation(invitation)
197
    return redirect(invitations_list)

Also available in: Unified diff