Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
Fix versions list on product change, and auto-select latest beta. Bug…
Browse files Browse the repository at this point in the history
… 600445.
  • Loading branch information
Fred Wenzel committed Oct 1, 2010
1 parent 120b28a commit d523de1
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 5 deletions.
13 changes: 13 additions & 0 deletions apps/dashboard/helpers.py
@@ -1,10 +1,15 @@
import datetime
import json

from django.conf import settings

from jingo import register
import jinja2

from feedback import LATEST_BETAS
from feedback.version_compare import simplify_version
from search.forms import VERSION_CHOICES


def new_context(context, **kw):
"""Helper adding variables to the existing context."""
Expand Down Expand Up @@ -93,6 +98,14 @@ def themes_block(context, themes, defaults=None):
@register.inclusion_tag('dashboard/products.html')
@jinja2.contextfunction
def products_block(context, products, product):
latest_betas = dict((a.short, simplify_version(LATEST_BETAS[a])) for a in
LATEST_BETAS)
version_choices = {}
for app in VERSION_CHOICES:
version_choices = json.dumps(
dict((app.short,
[map(unicode, v) for v in VERSION_CHOICES[app]]) for app in
VERSION_CHOICES))
return new_context(**locals())


Expand Down
5 changes: 3 additions & 2 deletions apps/dashboard/templates/dashboard/products.html
@@ -1,8 +1,9 @@
<span class="selectbox">
<span class="text">{{ product }}</span>
<select id="product" name="product" data-selected="{{ product }}">
<select id="product" name="product" data-selected="{{ product }}" data-versions="{{ version_choices }}">
{% for val, name in products %}
<option value="{{ val }}" {{ 'selected' if product == val else '' }}>{{ name }}</option>
<option value="{{ val }}" {{ 'selected' if product == val else ''
}} data-latest="{{ latest_betas[val] }}">{{ name }}</option>
{% endfor %}
</select>
</span>
19 changes: 16 additions & 3 deletions media/js/input.js
Expand Up @@ -78,13 +78,26 @@
return this;

function doSubmit(e) {
selected_product = $("#product").attr('data-selected')
e.preventDefault();

var selected_product = $("#product").attr('data-selected')
if (selected_product && selected_product != $("#product").val()) {
$("#version").val('');
var product = $('#product').val(),
versions = JSON.parse($('#product').attr('data-versions'))[product],
latest = $('#product option:selected').attr('data-latest');
$('#product').attr('data-selected', product);
// Fix versions list.
$('#version option').remove();
for (v in versions) {
$('#version').append(
$('<option>')
.val(versions[v][0])
.text(versions[v][1]))
}
$("#version").val(latest);
}

$(e.currentTarget).closest('form').submit();
return false;
}
};

Expand Down

0 comments on commit d523de1

Please sign in to comment.