summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-04-10 13:10:10 +0200
committerNicolas Schodet2012-04-10 13:13:07 +0200
commitb19603ef2c0b15894172708aaf52e62ea519d7ed (patch)
tree155a3c7f16b722e82e377f192ac981c46d6cebbb
parent56b5841b9ba6e7c1229e9190b1a68fee53e7bf8b (diff)
use combo box for place selection
-rwxr-xr-xstocks.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/stocks.py b/stocks.py
index 21c2eea..c122435 100755
--- a/stocks.py
+++ b/stocks.py
@@ -143,12 +143,17 @@ class AppCGI:
form = cgi.FieldStorage ()
self.mode = form.getfirst ('mode', None)
self.place = form.getfirst ('place', None)
+ if self.place == '--- new':
+ self.place = form.getfirst ('place_new', None)
self.action = form.getfirst ('action', None)
# Read database.
self.stocks = Stocks ()
self.stocks.load (DEFAULT_DATABASE)
# Make operations.
try:
+ if self.mode == 'update' and not self.place:
+ self.mode = None
+ raise StocksError ("update mode without a place")
if self.mode == 'update' and self.action == 'update':
for code, qty in self.iter_update (form):
if qty:
@@ -246,6 +251,19 @@ Content-Type: text/html; charset=UTF-8
<style type="text/css">
$stylesheet
</style>
+<script src="jquery-1.7.2.min.js"></script>
+<script>
+function selortext_hide () {
+ if (\$(this).val () == '--- new')
+ \$(this).next().css('display', 'inline');
+ else
+ \$(this).next().css('display', 'none');
+}
+\$(document).ready(function () {
+ \$('span.selortext select').each(selortext_hide);
+ \$('span.selortext select').on('change', selortext_hide);
+})
+</script>
</head>
<body>
<h1>Stocks</h1>
@@ -296,9 +314,14 @@ $stylesheet
#if not $mode
<form><p><input type="submit" value="Refresh" /></p></form>
<form><p>
- Update mode
<input type="hidden" name="mode" value="update" />
- <input type="text" name="place" />
+ Update mode for
+ <span class="selortext">
+ #filter None
+ $select_places("place", ['main', '--- new'])
+ #end filter
+ <input type="text" name="place_new" />
+ </span>
<input type="submit" value="OK" />
</p></form>
<form method="POST"><p>