Forked mumble-django project from https://bitbucket.org/Svedrin/mumble-django
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.4 KiB

16 years ago
16 years ago
16 years ago
16 years ago
16 years ago
  1. # -*- coding: utf-8 -*-
  2. """
  3. * Copyright © 2009-2010, Michael "Svedrin" Ziegler <diese-addy@funzt-halt.net>
  4. *
  5. * Mumble-Django is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This package is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. """
  15. from django.contrib import admin
  16. from django.utils.translation import ugettext_lazy as _
  17. from mumble.forms import MumbleAdminForm
  18. from mumble.models import Mumble, MumbleUser
  19. class MumbleAdmin(admin.ModelAdmin):
  20. """ Specification for the "Server administration" admin section. """
  21. list_display = [ 'name', 'addr', 'port', 'booted', 'get_is_public',
  22. 'get_users_regged', 'get_users_online', 'get_channel_count' ];
  23. list_filter = [ 'booted', 'addr' ];
  24. search_fields = [ 'name', 'addr' ];
  25. ordering = [ 'name' ];
  26. form = MumbleAdminForm;
  27. def get_users_regged( self, obj ):
  28. """ Populates the "Registered users" column. """
  29. if obj.booted:
  30. return obj.users_regged;
  31. else:
  32. return '-';
  33. get_users_regged.short_description = _( 'Registered users' );
  34. def get_users_online( self, obj ):
  35. """ Populates the "Online users" column. """
  36. if obj.booted:
  37. return obj.users_online;
  38. else:
  39. return '-';
  40. get_users_online.short_description = _( 'Online users' );
  41. def get_channel_count( self, obj ):
  42. """ Populates the "Channel Count" column. """
  43. if obj.booted:
  44. return obj.channel_cnt;
  45. else:
  46. return '-';
  47. get_channel_count.short_description = _( 'Channel count' );
  48. def get_is_public( self, obj ):
  49. """ Populates the "Public" column. """
  50. if obj.booted:
  51. if obj.is_public:
  52. return _( 'Yes' );
  53. else:
  54. return _( 'No' );
  55. else:
  56. return '-';
  57. get_is_public.short_description = _( 'Public' );
  58. class MumbleUserAdmin(admin.ModelAdmin):
  59. """ Specification for the "Registered users" admin section. """
  60. list_display = [ 'owner', 'server', 'name', 'isAdmin' ];
  61. list_filter = [ 'server' ];
  62. search_fields = [ 'owner__username', 'name' ];
  63. ordering = [ 'owner__username' ];
  64. admin.site.register( Mumble, MumbleAdmin );
  65. admin.site.register( MumbleUser, MumbleUserAdmin );