mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-23 22:59:30 +00:00
Updated to current hg head of mumble-django
This commit is contained in:
28
mumble/templates/mumble/channel.html
Normal file
28
mumble/templates/mumble/channel.html
Normal file
@@ -0,0 +1,28 @@
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
<div class="mumble" style="background-image: url( {{ MEDIA_URL }}/mumble/linie_v.png )">
|
||||
<img src="{{ MEDIA_URL }}/mumble/knoten_v.png" alt="" />
|
||||
{% if Channel.linked %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/channel_linked.png" alt="linked channel" />
|
||||
{% else %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/channel.png" alt="channel" />
|
||||
{% endif %}
|
||||
{% if Channel.server.netloc %}
|
||||
<a href="{{ Channel|chanurl:MumbleAccount }}" class="mumble" id="link_{{ Channel.id }}" title="{{ Channel.name }}">
|
||||
{{ Channel.name|trunc:30 }}
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="mumble" id="link_{{ Channel.id }}" title="{{ Channel.name }}">
|
||||
{{ Channel.name|trunc:30 }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% for sub in Channel.subchans %}
|
||||
{% if sub.show %}
|
||||
{{ sub|chanview:MumbleAccount }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for player in Channel.players %}{{ player|chanview }}{% endfor %}
|
||||
</div>
|
||||
|
||||
24
mumble/templates/mumble/list.html
Normal file
24
mumble/templates/mumble/list.html
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends "index.html" %}
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load i18n %}
|
||||
{% load mumble_extras %}
|
||||
{% block Headline %}
|
||||
Configured Mumble Servers
|
||||
{% endblock %}
|
||||
{% block Content %}
|
||||
<div class="rahmen">
|
||||
<ul>
|
||||
{% for mumble in MumbleObjects %}
|
||||
{% if mumble.booted %}
|
||||
<li><a href="{% url mumble.views.show mumble.id %}">{{ mumble.name }}</a></li>
|
||||
{% else %}
|
||||
<li>{{ mumble.name }} (offline)</li>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
{% trans "No server instances have been configured yet." %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
21
mumble/templates/mumble/mobile_list.html
Normal file
21
mumble/templates/mumble/mobile_list.html
Normal file
@@ -0,0 +1,21 @@
|
||||
{% extends "mobile_index.html" %}
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
{% block Headline %}
|
||||
Configured Mumble Servers
|
||||
{% endblock %}
|
||||
{% block LeftColumn %}
|
||||
<div class="rahmen">
|
||||
<ul>
|
||||
{% for mumble in MumbleObjects %}
|
||||
{% if mumble.booted %}
|
||||
<li><a href="{% url mumble.views.mobile_show mumble.id %}">{{ mumble.name }}</a></li>
|
||||
{% else %}
|
||||
<li>{{ mumble.name }} (offline)</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
12
mumble/templates/mumble/mobile_mumble.html
Normal file
12
mumble/templates/mumble/mobile_mumble.html
Normal file
@@ -0,0 +1,12 @@
|
||||
{% extends "mobile_index.html" %}
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
{% load i18n %}
|
||||
{% block Headline %}
|
||||
{{ DBaseObject.name }}
|
||||
{% endblock %}
|
||||
{% block LeftColumn %}
|
||||
{{ DBaseObject|chanview:MumbleAccount }}
|
||||
{% endblock %}
|
||||
388
mumble/templates/mumble/mumble.html
Normal file
388
mumble/templates/mumble/mumble.html
Normal file
@@ -0,0 +1,388 @@
|
||||
{% extends "index.html" %}
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
{% load i18n %}
|
||||
{% block Headline %}
|
||||
{{ DBaseObject.name }}
|
||||
{% endblock %}
|
||||
{% block LeftColumn %}
|
||||
{{ DBaseObject|chanview:MumbleAccount }}
|
||||
{% endblock %}
|
||||
{% block Content %}
|
||||
<noscript>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
<b>Hint:</b><br />
|
||||
This area is used to display additional information for each channel and player, but requires JavaScript to be
|
||||
displayed correctly. You will not see the detail pages, but you can use all links and forms
|
||||
that are displayed.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
</noscript>
|
||||
<div id="mumble_ext_container"></div>
|
||||
<div id="mumble_motd" class="mumble-ext x-hide-display">
|
||||
<ul>
|
||||
{% if DBaseObject.connecturl %}
|
||||
<li>{% trans "Server Address" %}: <a href="{{ DBaseObject.connecturl }}">{{ DBaseObject.connecturl }}</a></li>
|
||||
{% endif %}
|
||||
{% if DBaseObject.url %}
|
||||
<li>{% trans "Website" %}: {{ DBaseObject.url|urlize }}</li>
|
||||
{% endif %}
|
||||
<li>{% trans "Server version" %}: {{ DBaseObject.version.0 }}.{{ DBaseObject.version.1 }}.{{ DBaseObject.version.2 }}</li>
|
||||
<li><a href="{% url mumble.views.mobile_show DBaseObject.id %}">{% trans "Minimal view" %}</a></li>
|
||||
</ul>
|
||||
<fieldset>
|
||||
<legend>{% trans "Welcome message" %}</legend>
|
||||
{{ DBaseObject.motd|removetags:"script link meta html head body style"|safe }}
|
||||
</fieldset>
|
||||
</div>
|
||||
<div id="mumble_registration" class="mumble-ext">
|
||||
{% if user.is_authenticated %}
|
||||
<h2>{% trans "Server registration" %}</h2>
|
||||
<form action="{% url mumble.views.show DBaseObject.id %}" method="post">
|
||||
{% if Registered %}
|
||||
{% trans "You are registered on this server" %}.<br />
|
||||
{% else %}
|
||||
{% trans "You do not have an account on this server" %}.<br />
|
||||
{% endif %}
|
||||
<table>
|
||||
{{ RegForm }}
|
||||
</table>
|
||||
<input type="hidden" name="mode" value="reg" />
|
||||
<input type="submit" />
|
||||
</form>
|
||||
{% else %}
|
||||
{% blocktrans %}
|
||||
<p>You need to be <a href="{{ login_url }}">logged in</a> to be able to register an account on this Mumble server.</p>
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if Registered %}
|
||||
<div id="mumble_texture" class="mumble-ext">
|
||||
<h2>{% trans "User Texture" %}</h2>
|
||||
{% if DBaseObject|mmversion_eq:"1.2.2" %}
|
||||
{% blocktrans %}
|
||||
Sorry, due to a bug in Murmur 1.2.2, displaying and setting the Texture is disabled.
|
||||
{% endblocktrans %}
|
||||
{% else %}
|
||||
<p>
|
||||
{% blocktrans with DBaseObject.id as serverid %}
|
||||
You can upload an image that you would like to use as your user texture here.
|
||||
{% endblocktrans %}<br />
|
||||
<br />
|
||||
{% if MumbleAccount.hasTexture %}
|
||||
{% trans "Your current texture is" %}:<br />
|
||||
<img src="{% url mumble.views.showTexture DBaseObject.id MumbleAccount.id %}" alt="user texture" /><br />
|
||||
{% else %}
|
||||
{% trans "You don't currently have a texture set" %}.<br />
|
||||
{% endif %}
|
||||
<br />
|
||||
{% if DBaseObject|mmversion_lt:"1.2.3" %}
|
||||
{% blocktrans with DBaseObject.id as serverid %}
|
||||
Hint: The texture image <b>needs</b> to be 600x60 in size. If you upload an image with
|
||||
a different size, it will be resized accordingly.<br />
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<form action="{% url mumble.views.show DBaseObject.id %}" method="post" enctype="multipart/form-data">
|
||||
<table>
|
||||
{{ TextureForm }}
|
||||
</table>
|
||||
<input type="hidden" name="mode" value="texture" />
|
||||
<input type="submit" />
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if CurrentUserIsAdmin %}
|
||||
<div id="mumble_admin" class="mumble-ext">
|
||||
<h2>{% trans "Server administration" %}</h2>
|
||||
<form action="{% url mumble.views.show DBaseObject.id %}" method="post">
|
||||
<table>
|
||||
{{ AdminForm }}
|
||||
</table>
|
||||
<input type="hidden" name="mode" value="admin" />
|
||||
<input type="submit" />
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% for item in ChannelTable %}
|
||||
{% if item.is_player %}
|
||||
<div id="mumble_{{ item.id }}" class="mumble-ext x-hide-display">
|
||||
<h2>{% trans "Player" %} {{ item.name }}</h2>
|
||||
<ul>
|
||||
<li>{% trans "Online since" %}: {{ item.onlinesince|time }}</li>
|
||||
<li>{% trans "Authenticated" %}: {{ item.isAuthed|yesno }}</li>
|
||||
<li>{% trans "Admin" %}: {{ item.isAdmin|yesno }}</li>
|
||||
<li>{% trans "Muted" %}: {{ item.mute|yesno }}</li>
|
||||
<li>{% trans "Deafened" %}: {{ item.deaf|yesno }}</li>
|
||||
<li>{% trans "Muted by self" %}: {{ item.selfMute|yesno }}</li>
|
||||
<li>{% trans "Deafened by self" %}: {{ item.selfDeaf|yesno }}</li>
|
||||
{% if CurrentUserIsAdmin or user.is_staff %}
|
||||
<li>{% trans "IP Address" %}: <acronym title="{{ item.ipaddress }}">{{ item.fqdn }}</acronym></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% if item.mumbleuser and item.mumbleuser.owner %}
|
||||
<h2>{% trans "User" %} {{ item.mumbleuser.owner.username|capfirst }}</h2>
|
||||
<ul>
|
||||
{% if item.mumbleuser.owner.first_name and item.mumbleuser.owner.last_name %}
|
||||
<li>{% trans "Full Name" %}: {{ item.mumbleuser.owner.first_name }} {{ item.mumbleuser.owner.last_name }}</li>
|
||||
{% endif %}
|
||||
<li>{% trans "Admin" %}: {{ item.mumbleuser.owner.is_staff|yesno }}</li>
|
||||
<li>{% trans "Sign-up date" %}: {{ item.mumbleuser.owner.date_joined|date }}</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if item.comment %}
|
||||
<fieldset>
|
||||
<legend>{% trans "User Comment" %}</legend>
|
||||
{{ item.comment|removetags:"script link meta html head body style"|safe }}
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
{% if item.mumbleuser and item.mumbleuser.hasTexture %}
|
||||
<fieldset>
|
||||
<legend>{% trans "User Texture" %}</legend>
|
||||
<img src="{% url mumble.views.showTexture DBaseObject.id item.mumbleuser.id %}" alt="user texture" />
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
{% if CurrentUserIsAdmin or user.is_staff %}
|
||||
<fieldset>
|
||||
<legend>{% trans "Kick user" %}</legend>
|
||||
<form action="{% url mumble.views.show DBaseObject.id %}" method="POST">
|
||||
<input type="hidden" name="mode" value="kick" />
|
||||
<input type="hidden" name="session" value="{{ item.session }}" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="inp_reason">{% trans "Reason" %}</label>
|
||||
<input type="text" name="reason" value="" id="inp_reason" />
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" name="ban" value="1" id="inp_ban" />
|
||||
<label for="inp_ban">{% trans "Ban user" %}</label>
|
||||
</li>
|
||||
</ul>
|
||||
<input type="submit" value="{% trans "Kick user" %}" />
|
||||
</form>
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="mumble_{{ item.id }}" class="mumble-ext x-hide-display">
|
||||
<h2>{% trans "Channel" %} {{ item.name }}</h2>
|
||||
{% if CurrentUserIsAdmin or user.is_staff %}
|
||||
{% trans "Channel ID" %}: {{ item.chanid }}<br />
|
||||
{% endif %}
|
||||
<a href="{{ item|chanurl:MumbleAccount }}" class="mumble">{% trans "Connect" %}</a>
|
||||
{% if item.description %}
|
||||
<fieldset>
|
||||
<legend>{% trans "Channel description" %}</legend>
|
||||
{{ item.description|removetags:"script link meta html head body style"|safe }}
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block HeadTag %}
|
||||
<script type="text/javascript">
|
||||
Ext.onReady( function(){
|
||||
Ext.get( 'mumble_registration' ).addClass( 'x-hide-display' );
|
||||
{% if Registered %}
|
||||
Ext.get( 'mumble_texture' ).addClass( 'x-hide-display' );
|
||||
{% endif %}
|
||||
{% if CurrentUserIsAdmin %}
|
||||
Ext.get( 'mumble_admin' ).addClass( 'x-hide-display' );
|
||||
{% endif %}
|
||||
|
||||
{% if CurrentUserIsAdmin %}
|
||||
userRecord = Ext.data.Record.create([
|
||||
{ name: 'id', type: 'int' },
|
||||
{ name: 'name', type: 'string' },
|
||||
{ name: 'password', type: 'string' },
|
||||
{ name: 'owner', type: 'int' },
|
||||
{ name: 'admin', type: 'bool' },
|
||||
{ name: 'delete', type: 'bool' }
|
||||
]);
|
||||
|
||||
userAdminStore = new Ext.data.Store({
|
||||
url: '{% url mumble.views.users DBaseObject.id %}',
|
||||
reader: new Ext.data.JsonReader({
|
||||
root: 'objects',
|
||||
fields: userRecord
|
||||
}),
|
||||
autoLoad: true,
|
||||
remoteSort: false
|
||||
});
|
||||
|
||||
adminColumn = new Ext.grid.CheckColumn({
|
||||
header: '{% trans "Admin on root channel" %}',
|
||||
dataIndex: 'admin',
|
||||
width: 50
|
||||
});
|
||||
|
||||
deleteColumn = new Ext.grid.CheckColumn({
|
||||
header: '{% trans "Delete" %}',
|
||||
dataIndex: 'delete',
|
||||
width: 50
|
||||
});
|
||||
|
||||
ownerCombo = new Ext.form.ComboBox({
|
||||
name: 'owner',
|
||||
hiddenName: 'owner_id',
|
||||
forceSelection: true,
|
||||
triggerAction: 'all',
|
||||
valueField: 'uid',
|
||||
displayField: 'uname',
|
||||
store: new Ext.data.Store({
|
||||
url: '{% url mumble.views.djangousers %}',
|
||||
reader: new Ext.data.JsonReader({
|
||||
fields: [ 'uid', 'uname' ],
|
||||
root: 'objects'
|
||||
}),
|
||||
autoLoad: true
|
||||
})
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
var cardpanel = new Ext.Panel({
|
||||
renderTo: 'mumble_ext_container',
|
||||
layout: 'card',
|
||||
id: 'mumble_container',
|
||||
height: 570,
|
||||
activeItem: 0,
|
||||
border: false,
|
||||
items: [ {
|
||||
id: 'mumble_tabpanel',
|
||||
xtype: 'tabpanel',
|
||||
defaults: { autoheight: true },
|
||||
activeTab: {{ DisplayTab }},
|
||||
items: [
|
||||
{ contentEl: 'mumble_motd', title: '{% trans "Server Info" %}', autoScroll: true },
|
||||
{ contentEl: 'mumble_registration', title: '{% trans "Registration" %}', autoScroll: true,
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
listeners: {
|
||||
activate: function(){ Ext.fly("id_name").focus() }
|
||||
}
|
||||
{% endif %}
|
||||
},
|
||||
{% if CurrentUserIsAdmin %}
|
||||
{ contentEl: 'mumble_admin', title: '{% trans "Administration" %}', autoScroll: true },
|
||||
{% endif %}
|
||||
{% if Registered %}
|
||||
{ contentEl: 'mumble_texture',title: '{% trans "User Texture" %}', autoScroll: true },
|
||||
{% endif %}
|
||||
{% if CurrentUserIsAdmin %}
|
||||
{
|
||||
title: '{% trans "User List" %}',
|
||||
xtype: 'editorgrid',
|
||||
store: userAdminStore,
|
||||
cm: new Ext.grid.ColumnModel( [ {
|
||||
header: '{% trans "name" %}',
|
||||
dataIndex: 'name',
|
||||
sortable: true,
|
||||
editor: new Ext.form.TextField({
|
||||
allowBlank: false
|
||||
})
|
||||
}, {
|
||||
header: '{% trans "Account owner" %}',
|
||||
dataIndex: 'owner',
|
||||
editor: ownerCombo,
|
||||
sortable: true,
|
||||
renderer: function( value ){
|
||||
if( value == '' ) return '';
|
||||
items = ownerCombo.store.data.items;
|
||||
for( i = 0; i < items.length; i++ )
|
||||
if( items[i].data.uid == value )
|
||||
return items[i].data.uname;
|
||||
}
|
||||
|
||||
}, adminColumn, {
|
||||
header: '{% trans "Change password" %}',
|
||||
dataIndex: 'password',
|
||||
editor: new Ext.form.TextField({
|
||||
inputType: 'password'
|
||||
}),
|
||||
renderer: function( value ){
|
||||
ret = '';
|
||||
for( i = 0; i < value.length; i++ )
|
||||
ret += '*';
|
||||
return ret;
|
||||
}
|
||||
}, deleteColumn ] ),
|
||||
tbar: [{
|
||||
text: '{% trans "Add" %}',
|
||||
handler : function(){
|
||||
userAdminStore.add( new userRecord( {
|
||||
id: -1,
|
||||
name: 'New User',
|
||||
admin: false,
|
||||
owner: '',
|
||||
password: '',
|
||||
'delete': false
|
||||
} ) );
|
||||
}
|
||||
}, {
|
||||
text: '{% trans "Save" %}',
|
||||
handler : function(){
|
||||
data = [];
|
||||
for( i = 0; i < userAdminStore.data.items.length; i++ ){
|
||||
rec = userAdminStore.data.items[i];
|
||||
if( rec.dirty ){
|
||||
data.push(rec.data);
|
||||
}
|
||||
}
|
||||
var conn = new Ext.data.Connection();
|
||||
conn.request( {
|
||||
url: userAdminStore.url,
|
||||
params: { data: Ext.encode( data ) },
|
||||
success: function(){
|
||||
for( i = 0; i < userAdminStore.data.items.length; i++ ){
|
||||
rec = userAdminStore.data.items[i];
|
||||
if( rec.data['delete'] == true )
|
||||
userAdminStore.remove( rec );
|
||||
else if( rec.dirty ){
|
||||
rec.commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
}, {
|
||||
text: '{% trans "Resync with Murmur" %}',
|
||||
handler: function(){
|
||||
userAdminStore.reload({
|
||||
params: { 'resync': 'true' }
|
||||
});
|
||||
}
|
||||
}],
|
||||
plugins: [ adminColumn, deleteColumn ]
|
||||
}
|
||||
{% endif %}
|
||||
]
|
||||
},
|
||||
{% for item in ChannelTable %}
|
||||
{ contentEl: 'mumble_{{ item.id }}', id: 'carditem_{{ item.id }}' }{% if not forloop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
});
|
||||
|
||||
Ext.get( 'link_server' ).on( 'click', function( event, target ){
|
||||
cardpanel.layout.setActiveItem( 'mumble_tabpanel' );
|
||||
event.preventDefault();
|
||||
});
|
||||
{% for item in ChannelTable %}
|
||||
Ext.get( 'link_{{ item.id }}' ).on( 'click', function( event, target ){
|
||||
cardpanel.layout.setActiveItem( 'carditem_{{ item.id }}' );
|
||||
event.preventDefault();
|
||||
});
|
||||
{% endfor %}
|
||||
} );
|
||||
</script>
|
||||
<meta http-equiv="refresh" content="300" />
|
||||
{% endblock %}
|
||||
14
mumble/templates/mumble/offline.html
Normal file
14
mumble/templates/mumble/offline.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends "index.html" %}
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load i18n %}
|
||||
{% load mumble_extras %}
|
||||
{% block Headline %}
|
||||
{{ DBaseObject.name }}
|
||||
{% endblock %}
|
||||
{% block Content %}
|
||||
<div class="rahmen">
|
||||
{% trans "This server is currently offline." %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
35
mumble/templates/mumble/player.html
Normal file
35
mumble/templates/mumble/player.html
Normal file
@@ -0,0 +1,35 @@
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
{% load i18n %}
|
||||
<div class="mumble" style="background-image: url( {{ MEDIA_URL }}/mumble/linie_v.png )">
|
||||
<span class="mumble">
|
||||
{% if Player.isAuthed %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/authenticated.png" alt="authed" title="{% trans "Authenticated" %}" />
|
||||
{% endif %}
|
||||
{% if Player.mute %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/muted_server.png" alt="muted" title="{% trans "Muted" %}" />
|
||||
{% endif %}
|
||||
{% if Player.suppress %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/muted_suppressed.png" alt="muted" title="{% trans "Suppressed" %}" />
|
||||
{% endif %}
|
||||
{% if Player.deaf %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/deafened_server.png" alt="deafened" title="{% trans "Deafened" %}" />
|
||||
{% endif %}
|
||||
{% if Player.selfMute %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/muted_self.png" alt="self-muted" title="{% trans "Muted by self" %}" />
|
||||
{% endif %}
|
||||
{% if Player.selfDeaf %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/deafened_self.png" alt="self-deafened" title="{% trans "Deafened by self" %}" />
|
||||
{% endif %}
|
||||
{% if Player.hasComment %}
|
||||
<img src="{{ MEDIA_URL }}/mumble/comment.png" alt="has comment" title="{% trans "has a User Comment set" %}" />
|
||||
{% endif %}
|
||||
</span>
|
||||
<span>
|
||||
<img src="{{ MEDIA_URL }}/mumble/knoten_v.png" alt="" />
|
||||
<img src="{{ MEDIA_URL }}/mumble/talking_off.png" alt="Player" />
|
||||
<a id="link_{{ Player.id }}" class="mumble" href="#" title="{{ Player.name }}">{{ Player.name|trunc:30 }}</a>
|
||||
</span>
|
||||
</div>
|
||||
14
mumble/templates/mumble/server.html
Normal file
14
mumble/templates/mumble/server.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% comment %}
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
{% endcomment %}
|
||||
{% load mumble_extras %}
|
||||
<div style="margin-left: 20px;">
|
||||
<img src="{{ MEDIA_URL }}/mumble/mumble.16x16.png" alt="server" />
|
||||
<a class="mumble" id="link_server" href="{{ Server|chanurl:MumbleAccount }}">{{ Server.name|trunc:30 }}</a>
|
||||
</div>
|
||||
{% for sub in Server.rootchan.subchans %}
|
||||
{% if sub.show %}
|
||||
{{ sub|chanview:MumbleAccount }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for player in Server.rootchan.players %}{{ player|chanview }}{% endfor %}
|
||||
Reference in New Issue
Block a user