diff --git a/module/bug/config.php b/module/bug/config.php index 8a25f7663c..16974deeba 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -136,11 +136,11 @@ $config->bug->search['params']['mailto'] = array('operator' => '=', $config->bug->search['params']['openedBuild'] = array('operator' => 'include', 'control' => 'select', 'values' => 'builds'); $config->bug->search['params']['resolvedBuild'] = array('operator' => '=', 'control' => 'select', 'values' => 'builds'); -$config->bug->search['params']['openedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->bug->search['params']['assignedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->bug->search['params']['resolvedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->bug->search['params']['closedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->bug->search['params']['lastEditedDate']= array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->search['params']['assignedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->search['params']['resolvedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->search['params']['closedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->search['params']['lastEditedDate']= array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->bug->datatable = new stdclass(); $config->bug->datatable->defaultField = array('id', 'severity', 'pri', 'title', 'status', 'openedBy', 'openedDate', 'assignedTo', 'resolvedBy', 'resolution', 'resolvedDate', 'actions'); diff --git a/module/company/config.php b/module/company/config.php index e82dc4afbd..c5eced6fdf 100644 --- a/module/company/config.php +++ b/module/company/config.php @@ -21,7 +21,7 @@ $config->company->dynamic->search['params']['actor'] = array('operator' => $config->company->dynamic->search['params']['objectID'] = array('operator' => '=', 'control' => 'input', 'values' => ''); $config->company->dynamic->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => ''); $config->company->dynamic->search['params']['objectType'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->action->search->objectTypeList); -$config->company->dynamic->search['params']['date'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->company->dynamic->search['params']['date'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->company->dynamic->search['params']['action'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->action->search->label); $config->company->browse = new stdClass(); @@ -50,7 +50,7 @@ $config->company->browse->search['params']['dept'] = array('operator' => 'be $config->company->browse->search['params']['account'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); $config->company->browse->search['params']['role'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->user->roleList); $config->company->browse->search['params']['phone'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -$config->company->browse->search['params']['join'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->company->browse->search['params']['join'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->company->browse->search['params']['id'] = array('operator' => '=', 'control' => 'input', 'values' => ''); $config->company->browse->search['params']['commiter'] = array('operator' => 'include', 'control' => 'select', 'values' => ''); $config->company->browse->search['params']['gender'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->user->genderList); diff --git a/module/doc/config.php b/module/doc/config.php index 6bfa361ad2..6bcb942298 100644 --- a/module/doc/config.php +++ b/module/doc/config.php @@ -41,7 +41,7 @@ $config->doc->search['params']['module'] = array('operator' => 'belong', $config->doc->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => ''); $config->doc->search['params']['lib'] = array('operator' => '=', 'control' => 'select', 'values' => '' ); $config->doc->search['params']['addedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); -$config->doc->search['params']['addedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->doc->search['params']['addedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->doc->search['params']['editedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); -$config->doc->search['params']['editedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->doc->search['params']['editedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->doc->search['params']['version'] = array('operator' => '=', 'control' => 'input', 'values' => ''); diff --git a/module/product/config.php b/module/product/config.php index 8f13671afb..be14f8dbe0 100644 --- a/module/product/config.php +++ b/module/product/config.php @@ -69,11 +69,11 @@ $config->product->search['params']['mailto'] = array('operator' => 'incl $config->product->search['params']['closedReason'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->story->reasonList); $config->product->search['params']['version'] = array('operator' => '>=', 'control' => 'input', 'values' => ''); -$config->product->search['params']['openedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->product->search['params']['reviewedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->product->search['params']['assignedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->product->search['params']['closedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->product->search['params']['lastEditedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->search['params']['reviewedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->search['params']['assignedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->search['params']['closedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->search['params']['lastEditedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->product->create = new stdclass(); $config->product->edit = new stdclass(); diff --git a/module/project/config.php b/module/project/config.php index 50f96ba2fb..b25686b377 100644 --- a/module/project/config.php +++ b/module/project/config.php @@ -82,15 +82,15 @@ $config->project->search['params']['lastEditedBy'] = array('operator' => '=', $config->project->search['params']['mailto'] = array('operator' => 'include', 'control' => 'select', 'values' => 'users'); -$config->project->search['params']['openedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['deadline'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['estStarted'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['realStarted'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['assignedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['finishedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['closedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['canceledDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->project->search['params']['lastEditedDate']= array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['deadline'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['estStarted'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['realStarted'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['assignedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['finishedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['closedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['canceledDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->project->search['params']['lastEditedDate']= array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->printKanban = new stdClass(); $config->printKanban->col['story'] = 1; diff --git a/module/search/view/buildform.html.php b/module/search/view/buildform.html.php index 0eb8f18ce3..892eb1aaad 100644 --- a/module/search/view/buildform.html.php +++ b/module/search/view/buildform.html.php @@ -153,7 +153,8 @@ function setField(obj, fieldNO, moduleparams) var maxNO = 2 * groupItems; var nextNO = fieldNO > groupItems ? fieldNO - groupItems + 1 : fieldNO + groupItems; var nextValue = $(obj).closest('form').find('#value' + nextNO).val(); - if(nextNO <= maxNO && fieldNO < maxNO && (nextValue == '' || nextValue == 0)) + var operator = $(obj).closest('form').find("#operator" + fieldNO).val(); + if(nextNO <= maxNO && fieldNO < maxNO && (nextValue == '' || nextValue == 0) && operator == ">=") { $(obj).closest('form').find('#field' + nextNO).val($(obj).closest('form').find('#field' + fieldNO).val()); $(obj).closest('form').find('#operator' + nextNO).val('<='); @@ -270,6 +271,32 @@ function deleteQuery() if(data == 'success') $('#queryBox').load(createLink('search', 'ajaxGetQuery', 'module=' + module)); }); } + +$(function() +{ + $('#searchform select[id^="operator"]').change(function() + { + var value = $(this).val(); + if(value == '>=' && $(this).closest('tr').find('input[id^="value"]').hasClass('date')) + { + fieldNO = parseInt($(this).attr('id').replace('operator', '')); + var $form = $(this).closest('form'); + var groupItems = search->groupItems?>; + var maxNO = 2 * groupItems; + var nextNO = fieldNO > groupItems ? fieldNO - groupItems + 1 : fieldNO + groupItems; + var nextValue = $form.find('#value' + nextNO).val(); + if(nextNO <= maxNO && fieldNO < maxNO && (nextValue == '' || nextValue == 0)) + { + $form.find('#field' + nextNO).val($form.find('#field' + fieldNO).val()); + $form.find('#operator' + nextNO).val('<='); + $form.find('#valueBox' + nextNO).html($form.find('#box' + fieldName).children().clone()); + $form.find('#valueBox' + nextNO).children().attr({name : 'value' + nextNO, id : 'value' + nextNO}); + setDateField($form.find("#value" + nextNO), nextNO); + $form.find("#value" + nextNO).addClass('date'); + } + } + }) +})