changeset 97:f444c26df52f draft

forms: rework discrimination of different forms Use the new form_type hidden field instead of trying to guess which form it is based on the fields present.
author diegoe-guest
date Wed, 01 Jul 2009 07:41:16 +0000
parents c39d83bf43f5
children a57274673095
files bts_webui/amancay/bugs.py bts_webui/amancay/static/buglog.js bts_webui/amancay/templates/bug_forms.html
diffstat 3 files changed, 24 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/bts_webui/amancay/bugs.py
+++ b/bts_webui/amancay/bugs.py
@@ -105,19 +105,24 @@
 	"""
 	Process the different forms based on presence of some fields.
 	"""
-	if request.POST.has_key('subject') or request.POST.has_key('comment'):
+	form_type = request.POST.get('form_type', None)
+
+	if not form_type:
+		return None
+
+	if form_type == 'comment':
 		return add_comment(request, bug_number)
-	elif request.POST.has_key('reassign_to'):
+	elif form_type == 'reassign':
 		return reassign(request, bug_number)
-	elif request.POST.has_key('retitle_to'):
+	elif form_type == 'retitle':
 		return retitle(request, bug_number)
-	elif request.POST.has_key('close_version'):
+	elif form_type == 'close':
 		return close(request, bug_number)
-	elif request.POST.has_key('severity'):
+	elif form_type == 'severity':
 		return severity(request, bug_number)
-	elif request.POST.has_key('subscribe_email'):
+	elif form_type == 'subscribe':
 		return subscribe(request, bug_number)
-	elif request.POST.has_key('new_owner_email'):
+	elif form_type == 'owner':
 		return change_owner(request, bug_number)
 	else:
 		return None
--- a/bts_webui/amancay/static/buglog.js
+++ b/bts_webui/amancay/static/buglog.js
@@ -50,7 +50,7 @@
 		show_owner();
 }
 function subscribe_action(evt) {
-	show_block(evt, document.getElementById("subscription_form"));
+	show_block(evt, document.getElementById("subscribe_form"));
 }
 
 
--- a/bts_webui/amancay/templates/bug_forms.html
+++ b/bts_webui/amancay/templates/bug_forms.html
@@ -2,6 +2,7 @@
 <!-- hidden forms: add comment -->
 <div class="action_form" id="add_comment_form">
 	<form name="add_comment" method="POST">
+		<input type="hidden" name="form_type" value="comment"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Add Comment</legend>
 		<ul>
@@ -24,6 +25,7 @@
 <!-- reassign -->
 <div class="action_form" id="reassign_form">
 	<form name="reassign" method="POST">
+		<input type="hidden" name="form_type" value="reassign"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Reassign report to</legend>
 		<ul>
@@ -48,6 +50,7 @@
 <!-- retitle -->
 <div class="action_form" id="retitle_form">
 	<form name="retitle" method="POST">
+		<input type="hidden" name="form_type" value="retitle"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Retitle bug report</legend>
 		<ul>
@@ -69,6 +72,7 @@
 <!-- close -->
 <div class="action_form" id="close_form">
 	<form name="close" method="POST">
+		<input type="hidden" name="form_type" value="close"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Close bug report</legend>
 		<ul>
@@ -91,6 +95,7 @@
 <!-- severity -->
 <div class="action_form" id="severity_form">
 	<form name="severity" method="POST">
+		<input type="hidden" name="form_type" value="severity"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Change bug severity</legend>
 		<ul>
@@ -119,8 +124,9 @@
 </div>
 
 <!-- subscription -->
-<div class="action_form" id="subscription_form">
+<div class="action_form" id="subscribe_form">
 	<form name="severity" method="POST">
+		<input type="hidden" name="form_type" value="subscribe"/>
 		<fieldset class="action_form">
 		<legend class="action_form">Confirm subscription</legend>
 		<ul>
@@ -145,7 +151,8 @@
 
 <!-- owner -->
 <div class="action_form" id="owner_form">
-	<form name="owner" method="POST">
+	<form name="owner_new" method="POST">
+		<input type="hidden" name="form_type" value="owner">
 		<fieldset class="action_form">
 		<legend class="action_form">Change bug owner</legend>
 		<ul>
@@ -157,7 +164,8 @@
 		</fieldset>
 	</form>
 	{% if current_user.is_authenticated %}
-	<form name="owner" method="POST">
+	<form name="owner_takeover" method="POST">
+		<input type="hidden" name="form_type" value="owner">
 		<fieldset class="action_form">
 		<legend class="action_form">Take over this bug</legend>
 		<ul>