Skip to content

Commit

Permalink
admin page for the addon name blocklist
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeff Balogh committed Jun 13, 2011
1 parent 3982943 commit ec0fa19
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 1 deletion.
4 changes: 3 additions & 1 deletion apps/addons/utils.py
Expand Up @@ -27,8 +27,10 @@ def __init__(self):

def add(self, name, addon_id):
hash = safe_key(name)
if not self.redis.hsetnx(self.names, hash, addon_id):
rnlog.warning('Duplicate name: %s (%s).' % (name, addon_id))
return
rnlog.info('[%s] has a lock on "%s"' % (addon_id, name))
self.redis.hset(self.names, hash, addon_id)
self.redis.sadd('%s:%s' % (self.addons, addon_id), hash)
self.redis.sadd(self.keys, addon_id)

Expand Down
36 changes: 36 additions & 0 deletions apps/zadmin/templates/zadmin/addon-name-blocklist.html
@@ -0,0 +1,36 @@
{% extends "admin/base.html" %}

{% block title %}{{ page_title('Add-on Name Blocklist') }}{% endblock %}

{% block content %}
<h2>Add-on Name Blocklist</h2>

{% if request.GET.addon %}
<div>
<b>{{ request.GET.addon }}</b>:
{% if addon %}
<ul>
<li><a href="{{ addon.get_url_path() }}">{{ addon.name }}</a></li>
<li>{{ addon.id }}</li>
<li>Status: {{ amo.STATUS_CHOICES[addon.status] }}</li>
<li>Disabled: {{ addon.disabled_by_user }}</li>
</ul>
{% else %}
Nothing matched.
{% endif %}
</div>
<form method="post" action="">
{{ csrf() }}
<input name="addon" value="{{ request.GET.addon }}" type="hidden">
<input type="submit" value="Reset">
</form>
{% else %}

<form action="">
<input name="addon" placeholder="name">
<input type="submit" value="Get Info">
</form>

{% endif %}

{% endblock %}
2 changes: 2 additions & 0 deletions apps/zadmin/urls.py
Expand Up @@ -34,6 +34,8 @@
url('^elastic$', views.elastic, name='zadmin.elastic'),
url('^mail$', views.mail, name='zadmin.mail'),
url('^celery$', views.celery, name='zadmin.celery'),
url('^addon-name-blocklist$', views.addon_name_blocklist,
name='zadmin.addon-name-blocklist'),

# The Django admin.
url('^models/', include(admin.site.urls)),
Expand Down
16 changes: 16 additions & 0 deletions apps/zadmin/views.py
Expand Up @@ -29,6 +29,7 @@
from amo.urlresolvers import reverse
from amo.utils import chunked, sorted_groupby
from addons.models import Addon
from addons.utils import ReverseNameLookup
from files.models import Approval, File
from versions.models import Version

Expand Down Expand Up @@ -348,3 +349,18 @@ def celery(request):
ctx = dict(pending=pending, failures=failures, totals=totals,
now=datetime.now())
return jingo.render(request, 'zadmin/celery.html', ctx)


@admin.site.admin_view
def addon_name_blocklist(request):
rn = ReverseNameLookup()
addon = None
if request.method == 'POST':
rn.delete(rn.get(request.GET['addon']))
if request.GET.get('addon'):
id = rn.get(request.GET.get('addon'))
if id:
qs = Addon.objects.filter(id=id)
addon = qs[0] if qs else None
return jingo.render(request, 'zadmin/addon-name-blocklist.html',
dict(rn=rn, addon=addon))

0 comments on commit ec0fa19

Please sign in to comment.