Skip to content

Commit

Permalink
alter the home admin page and provide standard header (bug 535680)
Browse files Browse the repository at this point in the history
  • Loading branch information
Andy McKay committed Aug 9, 2011
1 parent 5b9a570 commit e2c79f7
Show file tree
Hide file tree
Showing 11 changed files with 90 additions and 111 deletions.
4 changes: 2 additions & 2 deletions apps/amo/log.py
Expand Up @@ -416,14 +416,14 @@ class OBJECT_DELETED(_LOG):

class ADMIN_USER_EDITED(_LOG):
id = 103
format = _(u'User {user} edited with log: {0}.')
format = _(u'User {user} edited, reason: {1}')
admin_event = True
action_class = None


class ADMIN_USER_ANONYMIZED(_LOG):
id = 104
format = _(u'User {user} anonymized with log: {0}.')
format = _(u'User {user} anonymized.')
admin_event = True
action_class = None

Expand Down
2 changes: 1 addition & 1 deletion apps/devhub/models.py
Expand Up @@ -222,7 +222,7 @@ def arguments(self):
for item in d:
# item has only one element.
model_name, pk = item.items()[0]
if model_name in ('str', 'int'):
if model_name in ('str', 'int', 'null'):
objs.append(pk)
else:
(app_label, model_name) = model_name.split('.')
Expand Down
85 changes: 33 additions & 52 deletions apps/zadmin/templates/admin/base.html
Expand Up @@ -3,76 +3,57 @@
{% block title %}:: AMO Admin{% endblock %}

{% block site_header_title %}
<a href="{{ url('zadmin.home') }}" title="keep it real fliggy">Site Administration</a>
<a href="{{ url('zadmin.index') }}">Site Administration</a>
{% endblock %}

{% block extrahead %}
<link rel="stylesheet" media="screen,projection,tv"
href="{{ media('css/zamboni/admin-mozilla.css') }}">
<link rel="stylesheet" media="screen,projection,tv"
href="{{ media('css/developers.css') }}">
<link rel="stylesheet" href="{{ media('css/zamboni/translations/trans.css') }}">
{% block site_css %}
{{ css('zamboni/css') }}
{{ css('zamboni/devhub') }}
{{ css('zamboni/admin') }}
{% endblock %}

{% block js %}
<script src="{{ media('js/zamboni/tabs.js') }}"></script>
<script src="{{ media('js/zamboni/admin.js') }}"></script>
{{ js('zamboni/admin') }}
{% endblock %}

{% block search_form %}
{% endblock %}

{% block navbar %}
<div id="navbar">
<ul class="top">
<li class="top">
<a href="#" class="controller">Manage Add-ons</a>
<ul>
<li><a href="{{ url('admin:addons_blacklistedguid_changelist') }}">
Banned GUIDs</a></li>
<li><a href="{{ url('admin:addons_feature_changelist') }}">
Featured Add-ons</a></li>
<li><a href="{{ url('zadmin.flagged') }}">
Flagged Add-ons</a></li>
<li><a href="{{ url('admin:addons_addon_changelist') }}">
Manage an Add-on</a></li>
</ul>
</li>
<li class="top">
<a href="#" class="controller">Manage Users</a>
<li class="top"><a href="" class="controller">Manage Add-ons</a>
<ul>
<li><a href="{{ url('admin:access_group_changelist') }}">
Configure Groups</a></li>
<li><a href="{{ url('admin:users_userprofile_changelist') }}">
Manage a User</a></li>
<li><a href="{{ url('zadmin.addon-search') }}">Search for add-ons by name or id</a></li>
<li><a href="{{ url('zadmin.features') }}">Featured add-ons</a></li>
<li><a href="{{ url('zadmin.jetpack') }}">Upgrade jetpack add-ons</a></li>
<li><a href="{{ url('zadmin.addon-name-blocklist') }}">Name blocklist</a></li>
<li><a href="{{ url('zadmin.validation') }}">Bulk add-on validation</a></li>
<li><a href="{{ url('zadmin.mail') }}">Fake mail</a></li>
<li><a href="{{ url('zadmin.flagged') }}">Flagged reviews</a></li>
</ul>
</li>
<li class="top">
<a href="#" class="controller">Site Settings</a>
</li>
<li class="top"><a href="" class="controller">Manage Users</a>
<ul>
<li><a href="{{ url('admin:applications_application_changelist') }}">
Applications</a></li>
<li><a href="{{ url('admin:editors_cannedresponse_changelist') }}">
Canned Response</a></li>
<li><a href="{{ url('admin:addons_category_changelist') }}">
Categories</a></li>
<li><a href="{{ url('admin:tags_tag_changelist') }}">
Tags</a></li>
<li><a href="{{ url('admin:access_group_changelist') }}">Configure groups</a></li>
</ul>
</li>
<li class="top">
<a href="#" class="controller">Dev Hub</a>
</li>
<li class="top"><a href="" class="controller">Site Settings</a>
<ul>
<li><a href="{{ url('admin:devhub_hubpromo_changelist') }}">
Promos</a></li>
<li><a href="{{ url('admin:devhub_hubevent_changelist') }}">
Events</a></li>
<li><a href="{{ url('zadmin.settings') }}">See the site settings</a></li>
<li><a href="{{ url('zadmin.home') }}">Django admin pages</a></li>
</ul>
</li>
<li class="top">
<a href="#" class="controller">Server Config</a>
</li>
<li class="top"><a href="" class="controller">Server Tools</a>
<ul>
<li><a href="{{ url('zadmin.hera') }}">Hera</a></li>
<li><a href="{{ url('zadmin.settings') }}">Settings</a></li>
<li><a href="{{ url('amo.env') }}">See the request environment</a></li>
<li><a href="{{ url('zadmin.elastic') }}">Manage elasticsearch</a></li>
<li><a href="{{ url('zadmin.celery') }}">See celery stats</a></li>
<li><a href="{{ url('zadmin.hera') }}">Purge pages from zeus</a></li>
<li><a href="{{ url('amo.graphite', 'amo') }}">See graphite trends</a></li>
<li><a href="{{ url('zadmin.oauth-consumer-create') }}">Create a new OAuth Consumer</a></li>
</ul>
</li>
</li>
</ul>
</div>
{% endblock %}
7 changes: 2 additions & 5 deletions apps/zadmin/templates/zadmin/addon-search.html
Expand Up @@ -3,11 +3,8 @@
{% block title %}{{ page_title('Add-on Search') }}{% endblock %}

{% block content %}
<h2>Add-on Search</h2>
<p>Type in names or ids to find an add-on. No auto-complete yet. Don't wrap numbers in braces.</p>
<form action="">
<input type="search" name="q" value="{{ q }}" placeholder="name or id">
</form>
<h2>Search Add-ons</h2>
{% include "zadmin/includes/search_addons.html" %}

{% if q %}
<h3>Results for <b>{{ q }}</b> (1&ndash;{{ addons|length }} of {{ addons.count() }}):</h3>
Expand Down
9 changes: 0 additions & 9 deletions apps/zadmin/templates/zadmin/features.html
Expand Up @@ -8,15 +8,6 @@
data-featured-collection-url="{{ url('zadmin.featured_collection') }}"
{% endblock %}

{% block extrahead %}
<link rel="stylesheet" href="{{ media('css/zamboni/admin_features.css') }}">
{% endblock %}

{% block js %}
{{ super() }}
<script src="{{ media('js/zamboni/admin_features.js') }}"></script>
{% endblock %}

{% macro fc(form) %}
{% set app_id = form.application.value()|int %}
{% set app = amo.APPS_ALL.get(app_id, '') %}
Expand Down
4 changes: 4 additions & 0 deletions apps/zadmin/templates/zadmin/includes/search_addons.html
@@ -0,0 +1,4 @@
<form action="{{ url('zadmin.addon-search') }}" method="get">
<input type="search" name="q" value="{{ q }}" placeholder="name or id">
<p class="help">Type in names or ids to find an add-on. No auto-complete yet. Don't wrap numbers in braces.</p>
</form>
7 changes: 7 additions & 0 deletions apps/zadmin/templates/zadmin/includes/search_users.html
@@ -0,0 +1,7 @@
<form method="get" action="{{ url('users.admin_edit_impala') }}"
data-search-url="{{ url('zadmin.search', 'users', 'userprofile') }}">
<div>
<input class="searchbar" type="text" value="" name="q" placeholder="email address">
<p class="help">Enter the first four characters and select the user from the dropdown.</p>
</div>
</form>
58 changes: 22 additions & 36 deletions apps/zadmin/templates/zadmin/index.html
Expand Up @@ -2,50 +2,36 @@

{% block title %}{{ page_title('Admin Pages') }}{% endblock %}

{% set links = (
('Add-on Name Blocklist', url('zadmin.addon-name-blocklist'),
'Manage name blocklist'),
('Add-on Search', url('zadmin.addon-search'),
'Search for add-ons by name or id'),
('Celery', url('zadmin.celery'), 'See celery stats'),
('Elasticseach', url('zadmin.elastic'), 'Manage elasticsearch'),
('Env', url('amo.env'), 'See the request environment'),
('Features', url('zadmin.features'), 'Manage featured add-ons'),
('Flagged', url('zadmin.flagged'), 'See flagged reviews'),
('Graphite', url('amo.graphite', 'amo'), 'See trends and statistics'),
('Hera', url('zadmin.hera'), 'Purge pages from zeus'),
('Jetpack', url('zadmin.jetpack'), 'Upgrade jetpack add-ons'),
('Mail', url('zadmin.mail'), 'View fake mail'),
('Models', url('zadmin.home'), 'Django Admin Pages'),
('OAuth Consumer', url('zadmin.oauth-consumer-create'), 'Create a new OAuth Consumer'),
('Settings', url('zadmin.settings'), 'See the site settings'),
('Validation', url('zadmin.validation'), 'Bulk add-on validation'),
) %}


{% block content %}

{% include "messages.html" %}

<div class="content">
<section>
<h2>Admin Pages</h2>
<dl>
{% for title, link, desc in links|sort %}
<dt><a href="{{ link }}">{{ title }}</a></dt>
<dd>{{ desc }}</dd>
{% endfor %}
</dl>
<h2>Search Add-ons</h2>
{% include "zadmin/includes/search_addons.html" %}
<h2>Search Users</h2>
{% include "zadmin/includes/search_users.html" %}
</section>
<aside>
<h2>Search Users</h2>
<form method="get" action="{{ url('users.admin_edit_impala') }}"
data-search-url="{{ url('zadmin.search', 'users', 'userprofile') }}">
<div>
<input class="searchbar" type="text" value="" name="q" size="40">
<p class="help">Enter the first four characters and select the user from the dropdown.</p>
</div>
</form>
<h2>Admin Log</h2>
{% if log %}
<ul>
{% for item in log %}
<li class="item">
{{ item }}
<span class="activity-timestamp">
{% trans user=item.user|user_link, ago=item.created|timesince %}
{{ ago }} by {{ user }}
{% endtrans %}
</span>
</li>
{% endfor %}
<p><a href="{{ url("admin:devhub_activitylog_changelist") }}">more...</a></p>
</ul>
{% else %}
<p>No entries.</p>
{% endif %}
</aside>
</div>
{% endblock %}
10 changes: 5 additions & 5 deletions apps/zadmin/urls.py
Expand Up @@ -8,8 +8,8 @@

urlpatterns = patterns('',
# AMO stuff.
url('^$', lambda r: redirect('admin:index'), name='zadmin.home'),
url('^index.html$', views.index, name='zadmin.index'),
url('^$', views.index, name='zadmin.index'),
url('^models$', lambda r: redirect('admin:index'), name='zadmin.home'),
url('^env$', views.env, name='amo.env'),
url('^flagged', views.flagged, name='zadmin.flagged'),
url('^hera', views.hera, name='zadmin.hera'),
Expand Down Expand Up @@ -40,10 +40,10 @@
name='zadmin.collections_json'),
url('^features/featured-collection$', views.featured_collection,
name='zadmin.featured_collection'),
url('^monthly-pick$', views.monthly_pick,

url('^monthly-pick$', views.monthly_pick,
name='zadmin.monthly_pick'),

url('^elastic$', views.elastic, name='zadmin.elastic'),
url('^mail$', views.mail, name='zadmin.mail'),
url('^celery$', views.celery, name='zadmin.celery'),
Expand Down
5 changes: 4 additions & 1 deletion apps/zadmin/views.py
Expand Up @@ -38,6 +38,7 @@
from addons.models import Addon
from addons.utils import ReverseNameLookup
from bandwagon.models import Collection
from devhub.models import ActivityLog
from files.models import Approval, File
from versions.models import Version

Expand Down Expand Up @@ -477,7 +478,8 @@ def addon_name_blocklist(request):

@admin.site.admin_view
def index(request):
return jingo.render(request, 'zadmin/index.html')
log = ActivityLog.objects.admin_events()[:5]
return jingo.render(request, 'zadmin/index.html', {'log': log})


@admin.site.admin_view
Expand All @@ -491,6 +493,7 @@ def addon_search(request):
qs = (Addon.search().query(name=q.lower())
.order_by('name_sort')[:100])
if len(qs) == 1:
# Note this is a remora URL and should be removed.
return redirect('/admin/addons?q=[%s]' % qs[0].id)
ctx['addons'] = qs
return jingo.render(request, 'zadmin/addon-search.html', ctx)
Expand Down
10 changes: 10 additions & 0 deletions settings.py
Expand Up @@ -475,6 +475,11 @@ def JINJA_CONFIG():
'css/zamboni/mobile.css',
'css/zamboni/mobile-forms.less',
),
'zamboni/admin': (
'css/zamboni/admin-django.css',
'css/zamboni/admin-mozilla.css',
'css/zamboni/admin_features.css'
),
},
'js': {
# JS files common to the entire site.
Expand Down Expand Up @@ -663,6 +668,11 @@ def JINJA_CONFIG():
'js/zamboni/stats/stats_tables.js',
'js/zamboni/stats/stats.js',
),
'zamboni/admin': (
'js/zamboni/admin.js',
'js/zamboni/admin_features.js',
'js/zamboni/admin_validation.js',
),
# This is included when DEBUG is True. Bundle in <head>.
'debug': (
'js/debug/less_setup.js',
Expand Down

0 comments on commit e2c79f7

Please sign in to comment.