From bb5a73e5b97c4b73fc14c66afb939aac55c71990 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Thu, 20 Jan 2011 23:46:40 -0500 Subject: Bug 626658 - Add (take) link to bug edit page to allow quick assigning to the current user r/a=mkanat --- js/field.js | 13 +++++++++---- template/en/default/bug/edit.html.tmpl | 10 ++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/js/field.js b/js/field.js index 6d78a60ce..aa9cd6c7e 100644 --- a/js/field.js +++ b/js/field.js @@ -211,11 +211,11 @@ function setupEditLink(id) { } /* Hide input fields and show the text with (edit) next to it */ -function hideEditableField( container, input, action, field_id, original_value ) { +function hideEditableField( container, input, action, field_id, original_value, new_value ) { YAHOO.util.Dom.removeClass(container, 'bz_default_hidden'); YAHOO.util.Dom.addClass(input, 'bz_default_hidden'); YAHOO.util.Event.addListener(action, 'click', showEditableField, - new Array(container, input)); + new Array(container, input, new_value)); if(field_id != ""){ YAHOO.util.Event.addListener(window, 'load', checkForChangedFieldValues, new Array(container, input, field_id, original_value)); @@ -227,9 +227,9 @@ function hideEditableField( container, input, action, field_id, original_value ) * * var e: the event * var ContainerInputArray: An array containing the (edit) and text area and the input being displayed - * var ContainerInputArray[0]: the conainer that will be hidden usually shows the (edit) text + * var ContainerInputArray[0]: the container that will be hidden usually shows the (edit) or (take) text * var ContainerInputArray[1]: the input area and label that will be displayed - * + * var ContainerInputArray[2]: the new value to set the input field to when (take) is clicked */ function showEditableField (e, ContainerInputArray) { var inputs = new Array(); @@ -246,6 +246,11 @@ function showEditableField (e, ContainerInputArray) { inputs = inputArea.getElementsByTagName('input'); } if ( inputs.length > 0 ) { + // Change the first field's value to ContainerInputArray[2] + // if present before focusing. + if (ContainerInputArray[2]) { + inputs[0].value = ContainerInputArray[2]; + } // focus on the first field, this makes it easier to edit inputs[0].focus(); inputs[0].select(); diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index 744afeb2d..e8eaaad1f 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -465,6 +465,10 @@ [% INCLUDE global/user.html.tmpl who = bug.assigned_to %] (edit) + [% IF bug.assigned_to.id != user.id %] + (take) + [% END %]
@@ -485,6 +489,12 @@ 'bz_assignee_edit_action', 'assigned_to', '[% bug.assigned_to.login FILTER js %]' ); + hideEditableField('bz_assignee_edit_container', + 'bz_assignee_input', + 'bz_assignee_take_action', + 'assigned_to', + '[% bug.assigned_to.login FILTER js %]', + '[% user.login FILTER js %]' ); initDefaultCheckbox('assignee'); [% ELSE %] -- cgit v1.2.3-24-g4f1b