New way to initialize and modify filter parameters

This commit is contained in:
Manuel Cillero 2017-09-18 03:00:12 +02:00
parent ce5f89b38f
commit 6b9f1ad9d5
14 changed files with 541 additions and 526 deletions

View file

@ -2546,6 +2546,45 @@ function _format_short_date($date = NULL) {
} }
function _storm_isset_filter_param($type, $param, $default = NULL, $compare = NULL) {
$list_filter = 'storm' . $type . '_list_filter';
if (!isset($_SESSION[$list_filter][$param]) && isset($default)) {
$_SESSION[$list_filter][$param] = $default;
}
if (isset($default) && !isset($compare)) {
$compare = $default;
}
if (isset($_SESSION[$list_filter][$param])) {
$original = $_SESSION[$list_filter][$param];
if (in_array($type, array('timetracking', 'expense')) && in_array($param, array('datefrom', 'dateto'))) {
$original = $original['day'];
}
return isset($compare) ? $original != $compare : TRUE;
}
return FALSE;
}
function _storm_set_filter_param($type, $param, $value = NULL) {
$list_filter = 'storm' . $type . '_list_filter';
if (isset($value)) {
$_SESSION[$list_filter][$param] = $value;
}
else {
unset($_SESSION[$list_filter][$param]);
}
}
function _storm_get_filter_param($type, $param, $default = NULL) {
$list_filter = 'storm' . $type . '_list_filter';
if (isset($_SESSION[$list_filter][$param])) {
return $_SESSION[$list_filter][$param];
}
elseif (isset($default)) {
$_SESSION[$list_filter][$param] = $default;
return $_SESSION[$list_filter][$param];
}
return NULL;
}
/** /**
* @function * @function
* Calculates taxation for SuiteDesk nodes * Calculates taxation for SuiteDesk nodes

View file

@ -11,39 +11,34 @@ function stormdok_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormdok_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormdok_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormdok_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('dok', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormdok_list_filter']['project_nid']); _storm_set_filter_param('dok', 'project_nid');
unset($_SESSION['stormdok_list_filter']['task_nid']); _storm_set_filter_param('dok', 'task_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormdok_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormdok_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormdok_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('dok', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormdok_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('dok', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormdok_list_filter']['task_nid']); _storm_set_filter_param('dok', 'task_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormdok_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormdok_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormdok_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('dok', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormdok_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('dok', 'organization_nid', $t->organization_nid);
$_SESSION['stormdok_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('dok', 'project_nid', $t->project_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormdok_list_filter']['title'] = ''; _storm_set_filter_param('dok', 'title', '');
} }
$i = new stdClass(); $i = new stdClass();
$i->type = 'stormdok'; $i->type = 'stormdok';
$params = $_GET;
if (isset($_SESSION['stormdok_list_filter']['organization_nid'])) {
$params['organization_nid'] = $_SESSION['stormdok_list_filter']['organization_nid'];
}
$header = array( $header = array(
array( array(
'data' => ' ', 'data' => ' ',
@ -76,45 +71,45 @@ function stormdok_list() {
'class' => 'storm_list_version', 'class' => 'storm_list_version',
), ),
array( array(
'data' => storm_icon_add_node($i, $params), 'data' => storm_icon_add_node($i, $_GET),
'class' => 'storm_list_operations', 'class' => 'storm_list_operations',
), ),
); );
$s = "SELECT n.*, sdo.*, nre.format, tdo.*, fdo.field_stormdok_attach_list AS clip FROM {node} AS n $where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.*, sdo.*, nre.format, tdo.*, fdo.field_stormdok_attach_list AS clip FROM {node} AS n
INNER JOIN {stormdok} AS sdo ON n.vid=sdo.vid INNER JOIN {stormdok} AS sdo ON n.vid=sdo.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
INNER JOIN {content_type_stormdok} AS tdo ON n.vid = tdo.vid INNER JOIN {content_type_stormdok} AS tdo ON n.vid = tdo.vid
LEFT JOIN {content_field_stormdok_attach} AS fdo ON n.vid = fdo.vid AND fdo.field_stormdok_attach_list = 1 AND fdo.delta = 0 LEFT JOIN {content_field_stormdok_attach} AS fdo ON n.vid = fdo.vid AND fdo.field_stormdok_attach_list = 1 AND fdo.delta = 0
WHERE n.status=1 AND n.type='stormdok'"; WHERE n.status=1 AND n.type='stormdok'";
$where = array(); if (_storm_isset_filter_param('dok', 'organization_nid', 0)) {
$args = array();
$filterfields = array();
if (isset($_SESSION['stormdok_list_filter']['organization_nid']) && $_SESSION['stormdok_list_filter']['organization_nid'] != 0) {
$where[] = 'sdo.organization_nid=%d'; $where[] = 'sdo.organization_nid=%d';
$args[] = $_SESSION['stormdok_list_filter']['organization_nid']; $args[] = $_SESSION['stormdok_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormdok_list_filter']['project_nid']) && $_SESSION['stormdok_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('dok', 'project_nid', 0)) {
$where[] = 'sdo.project_nid=%d'; $where[] = 'sdo.project_nid=%d';
$args[] = $_SESSION['stormdok_list_filter']['project_nid']; $args[] = $_SESSION['stormdok_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormdok_list_filter']['task_nid']) && $_SESSION['stormdok_list_filter']['task_nid'] != 0) { if (_storm_isset_filter_param('dok', 'task_nid', 0)) {
$where[] = 'sdo.task_nid=%d'; $where[] = 'sdo.task_nid=%d';
$args[] = $_SESSION['stormdok_list_filter']['task_nid']; $args[] = $_SESSION['stormdok_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
if (isset($_SESSION['stormdok_list_filter']['title']) && $_SESSION['stormdok_list_filter']['title'] != '') {
if (_storm_isset_filter_param('dok', 'title', '')) {
$where[] = "LOWER(n.title) LIKE LOWER('%s')"; $where[] = "LOWER(n.title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormdok_list_filter']['title']; $args[] = $_SESSION['stormdok_list_filter']['title'];
$filterfields[] = t('Title'); $filterfields[] = t('Title');
} }
// This section only provides the value for the fieldset label, doesn't control actual filter $itemsperpage = _storm_get_filter_param('dok', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormdok_list_filter']['itemsperpage']) ? $_SESSION['stormdok_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -143,13 +138,14 @@ function stormdok_list() {
} }
function stormdok_list_filter(&$form_state, $filterdesc = 'Filter') { function stormdok_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormdok_list_filter']['organization_nid']) ? $_SESSION['stormdok_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('dok', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormdok_list_filter']['project_nid']) ? $_SESSION['stormdok_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('dok', 'project_nid', 0);
$task_nid = isset($_SESSION['stormdok_list_filter']['task_nid']) ? $_SESSION['stormdok_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('dok', 'task_nid', 0);
$title = isset($_SESSION['stormdok_list_filter']['title']) ? $_SESSION['stormdok_list_filter']['title'] : '';
$title = _storm_get_filter_param('dok', 'title', '');
$itemsperpage = _storm_get_filter_param('dok', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormdok_list_filter']['itemsperpage']) ? $_SESSION['stormdok_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormdok_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -11,45 +11,40 @@ function stormevent_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormevent_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormevent_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormevent_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('event', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormevent_list_filter']['project_nid']); _storm_set_filter_param('event', 'project_nid');
unset($_SESSION['stormevent_list_filter']['task_nid']); _storm_set_filter_param('event', 'task_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormevent_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormevent_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormevent_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('event', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormevent_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('event', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormevent_list_filter']['task_nid']); _storm_set_filter_param('event', 'task_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormevent_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormevent_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormevent_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('event', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormevent_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('event', 'organization_nid', $t->organization_nid);
$_SESSION['stormevent_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('event', 'project_nid', $t->project_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormevent_list_filter']['eventtype'] = '-'; _storm_set_filter_param('event', 'eventtype', '-');
$_SESSION['stormevent_list_filter']['title'] = ''; _storm_set_filter_param('event', 'title', '');
unset($_SESSION['stormevent_list_filter']['datebeginfrom']); _storm_set_filter_param('event', 'datebeginfrom');
unset($_SESSION['stormevent_list_filter']['datebeginto']); _storm_set_filter_param('event', 'datebeginto');
unset($_SESSION['stormevent_list_filter']['dateendfrom']); _storm_set_filter_param('event', 'dateendfrom');
unset($_SESSION['stormevent_list_filter']['dateendto']); _storm_set_filter_param('event', 'dateendto');
} }
$i = new stdClass(); $i = new stdClass();
$i->type = 'stormevent'; $i->type = 'stormevent';
$params = $_GET;
if (isset($_SESSION['stormevent_list_filter']['organization_nid'])) {
$params['organization_nid'] = $_SESSION['stormevent_list_filter']['organization_nid'];
}
$header = array( $header = array(
array( array(
'data' => ' ', 'data' => ' ',
@ -78,12 +73,16 @@ function stormevent_list() {
'class' => 'storm_list_version', 'class' => 'storm_list_version',
), ),
array( array(
'data' => storm_icon_add_node($i, $params), 'data' => storm_icon_add_node($i, $_GET),
'class' => 'storm_list_operations', 'class' => 'storm_list_operations',
), ),
); );
$s = "SELECT n.*, sev.*, nre.format, tev.*, $where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.*, sev.*, nre.format, tev.*,
fda.field_stormevent_date_value AS dini, fda.field_stormevent_date_value AS dini,
fda.field_stormevent_date_value2 AS dend, fda.field_stormevent_date_value2 AS dend,
fda.field_stormevent_date_rrule AS drule, fda.field_stormevent_date_rrule AS drule,
@ -95,43 +94,36 @@ function stormevent_list() {
LEFT JOIN {content_field_stormevent_attach} AS fev ON n.vid = fev.vid AND fev.field_stormevent_attach_list = 1 AND fev.delta = 0 LEFT JOIN {content_field_stormevent_attach} AS fev ON n.vid = fev.vid AND fev.field_stormevent_attach_list = 1 AND fev.delta = 0
WHERE n.status=1 AND n.type='stormevent'"; WHERE n.status=1 AND n.type='stormevent'";
$where = array(); if (_storm_isset_filter_param('event', 'organization_nid', 0)) {
$args = array();
$filterfields = array();
if (isset($_SESSION['stormevent_list_filter']['organization_nid']) && $_SESSION['stormevent_list_filter']['organization_nid'] != 0) {
$where[] = 'sev.organization_nid=%d'; $where[] = 'sev.organization_nid=%d';
$args[] = $_SESSION['stormevent_list_filter']['organization_nid']; $args[] = $_SESSION['stormevent_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormevent_list_filter']['project_nid']) && $_SESSION['stormevent_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('event', 'project_nid', 0)) {
$where[] = 'sev.project_nid=%d'; $where[] = 'sev.project_nid=%d';
$args[] = $_SESSION['stormevent_list_filter']['project_nid']; $args[] = $_SESSION['stormevent_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormevent_list_filter']['task_nid']) && $_SESSION['stormevent_list_filter']['task_nid'] != 0) { if (_storm_isset_filter_param('event', 'task_nid', 0)) {
$where[] = 'sev.task_nid=%d'; $where[] = 'sev.task_nid=%d';
$args[] = $_SESSION['stormevent_list_filter']['task_nid']; $args[] = $_SESSION['stormevent_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
$type_list = storm_attributes_bydomain('event type search'); $type_list = storm_attributes_bydomain('Event type search');
$eventtype = isset($_SESSION['stormevent_list_filter']['eventtype']) ? $_SESSION['stormevent_list_filter']['eventtype'] : $type_list['default']; if (_storm_isset_filter_param('event', 'eventtype', $type_list['default'], '-')) {
$_SESSION['stormevent_list_filter']['eventtype'] = $eventtype;
if ($eventtype != '-') {
$where[] = "sev.eventtype='%s'"; $where[] = "sev.eventtype='%s'";
$args[] = $eventtype; $args[] = $_SESSION['stormevent_list_filter']['eventtype'];
$filterfields[] = t('Type'); $filterfields[] = t('Type');
} }
if (isset($_SESSION['stormevent_list_filter']['title']) && $_SESSION['stormevent_list_filter']['title'] != '') { if (_storm_isset_filter_param('event', 'title', '')) {
$where[] = "LOWER(n.title) LIKE LOWER('%s')"; $where[] = "LOWER(n.title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormevent_list_filter']['title']; $args[] = $_SESSION['stormevent_list_filter']['title'];
$filterfields[] = t('Title'); $filterfields[] = t('Title');
} }
if (isset($_SESSION['stormevent_list_filter']['datebeginfrom'])) { if (_storm_isset_filter_param('event', 'datebeginfrom')) {
$datebeginfrom = $_SESSION['stormevent_list_filter']['datebeginfrom']; $datebeginfrom = $_SESSION['stormevent_list_filter']['datebeginfrom'];
$datebeginfrom['hour'] = 0; $datebeginfrom['hour'] = 0;
$datebeginfrom['minute'] = 0; $datebeginfrom['minute'] = 0;
@ -142,7 +134,7 @@ function stormevent_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (isset($_SESSION['stormevent_list_filter']['datebeginto'])) { if (_storm_isset_filter_param('event', 'datebeginto')) {
$datebeginto = $_SESSION['stormevent_list_filter']['datebeginto']; $datebeginto = $_SESSION['stormevent_list_filter']['datebeginto'];
$datebeginto['hour'] = 23; $datebeginto['hour'] = 23;
$datebeginto['minute'] = 59; $datebeginto['minute'] = 59;
@ -153,7 +145,7 @@ function stormevent_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (isset($_SESSION['stormevent_list_filter']['dateendfrom'])) { if (_storm_isset_filter_param('event', 'dateendfrom')) {
$dateendfrom = $_SESSION['stormevent_list_filter']['dateendfrom']; $dateendfrom = $_SESSION['stormevent_list_filter']['dateendfrom'];
$dateendfrom['hour'] = 0; $dateendfrom['hour'] = 0;
$dateendfrom['minute'] = 0; $dateendfrom['minute'] = 0;
@ -164,7 +156,7 @@ function stormevent_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (isset($_SESSION['stormevent_list_filter']['dateendto'])) { if (_storm_isset_filter_param('event', 'dateendto')) {
$dateendto = $_SESSION['stormevent_list_filter']['dateendto']; $dateendto = $_SESSION['stormevent_list_filter']['dateendto'];
$dateendto['hour'] = 23; $dateendto['hour'] = 23;
$dateendto['minute'] = 59; $dateendto['minute'] = 59;
@ -184,8 +176,7 @@ function stormevent_list() {
$where[] = "EXISTS ($wheredate)"; $where[] = "EXISTS ($wheredate)";
} }
// This section only provides the value for the fieldset label, doesn't control actual filter $itemsperpage = _storm_get_filter_param('event', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormevent_list_filter']['itemsperpage']) ? $_SESSION['stormevent_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -214,22 +205,22 @@ function stormevent_list() {
} }
function stormevent_list_filter(&$form_state, $filterdesc = 'Filter') { function stormevent_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormevent_list_filter']['organization_nid']) ? $_SESSION['stormevent_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('event', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormevent_list_filter']['project_nid']) ? $_SESSION['stormevent_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('event', 'project_nid', 0);
$task_nid = isset($_SESSION['stormevent_list_filter']['task_nid']) ? $_SESSION['stormevent_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('event', 'task_nid', 0);
$type_list = storm_attributes_bydomain('event type search'); $type_list = storm_attributes_bydomain('Event type search');
$eventtype = isset($_SESSION['stormevent_list_filter']['eventtype']) ? $_SESSION['stormevent_list_filter']['eventtype'] : $type_list['default']; $eventtype = _storm_get_filter_param('event', 'eventtype', $type_list['default']);
$title = isset($_SESSION['stormevent_list_filter']['title']) ? $_SESSION['stormevent_list_filter']['title'] : ''; $title = _storm_get_filter_param('event', 'title', '');
$datebeginfrom = isset($_SESSION['stormevent_list_filter']['datebeginfrom']) ? $_SESSION['stormevent_list_filter']['datebeginfrom'] : NULL; $datebeginfrom = _storm_get_filter_param('event', 'datebeginfrom');
$datebeginto = isset($_SESSION['stormevent_list_filter']['datebeginto']) ? $_SESSION['stormevent_list_filter']['datebeginto'] : NULL; $datebeginto = _storm_get_filter_param('event', 'datebeginto');
$dateendfrom = isset($_SESSION['stormevent_list_filter']['dateendfrom']) ? $_SESSION['stormevent_list_filter']['dateendfrom'] : NULL; $dateendfrom = _storm_get_filter_param('event', 'dateendfrom');
$dateendto = isset($_SESSION['stormevent_list_filter']['dateendto']) ? $_SESSION['stormevent_list_filter']['dateendto'] : NULL; $dateendto = _storm_get_filter_param('event', 'dateendto');
$itemsperpage = _storm_get_filter_param('event', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormevent_list_filter']['itemsperpage']) ? $_SESSION['stormevent_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormevent_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -11,45 +11,45 @@ function stormexpense_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormexpense_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormexpense_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormexpense_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('expense', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormexpense_list_filter']['project_nid']); _storm_set_filter_param('expense', 'project_nid');
unset($_SESSION['stormexpense_list_filter']['task_nid']); _storm_set_filter_param('expense', 'task_nid');
unset($_SESSION['stormexpense_list_filter']['ticket_nid']); _storm_set_filter_param('expense', 'ticket_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormexpense_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormexpense_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormexpense_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('expense', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormexpense_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('expense', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormexpense_list_filter']['task_nid']); _storm_set_filter_param('expense', 'task_nid');
unset($_SESSION['stormexpense_list_filter']['ticket_nid']); _storm_set_filter_param('expense', 'ticket_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormexpense_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormexpense_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormexpense_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('expense', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormexpense_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('expense', 'organization_nid', $t->organization_nid);
$_SESSION['stormexpense_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('expense', 'project_nid', $t->project_nid);
unset($_SESSION['stormexpense_list_filter']['ticket_nid']); _storm_set_filter_param('expense', 'ticket_nid');
} }
if (array_key_exists('ticket_nid', $_GET)) { if (array_key_exists('ticket_nid', $_GET)) {
if ($_SESSION['stormexpense_list_filter']['ticket_nid'] != $_GET['ticket_nid']) { if ($_SESSION['stormexpense_list_filter']['ticket_nid'] != $_GET['ticket_nid']) {
$_SESSION['stormexpense_list_filter']['ticket_nid'] = $_GET['ticket_nid']; _storm_set_filter_param('expense', 'ticket_nid', $_GET['ticket_nid']);
} }
$ti = node_load($_GET['ticket_nid']); $ti = node_load($_GET['ticket_nid']);
$_SESSION['stormexpense_list_filter']['organization_nid'] = $ti->organization_nid; _storm_set_filter_param('expense', 'organization_nid', $ti->organization_nid);
$_SESSION['stormexpense_list_filter']['project_nid'] = $ti->project_nid; _storm_set_filter_param('expense', 'project_nid', $ti->project_nid);
$_SESSION['stormexpense_list_filter']['task_nid'] = $ti->task_nid; _storm_set_filter_param('expense', 'task_nid', $ti->task_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
unset($_SESSION['stormexpense_list_filter']['datefrom']); _storm_set_filter_param('expense', 'datefrom');
$_SESSION['stormexpense_list_filter']['user'] = ''; _storm_set_filter_param('expense', 'user', '');
$_SESSION['stormexpense_list_filter']['title'] = ''; _storm_set_filter_param('expense', 'title', '');
$_SESSION['stormexpense_list_filter']['provider_title'] = ''; _storm_set_filter_param('expense', 'provider_title', '');
} }
$i = new stdClass(); $i = new stdClass();
@ -79,7 +79,11 @@ function stormexpense_list() {
), ),
); );
$s = "SELECT n.*, sex.*, nre.format FROM {node} AS n $where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.*, sex.*, nre.format FROM {node} AS n
INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormexpense' "; WHERE n.status=1 AND n.type='stormexpense' ";
@ -87,31 +91,28 @@ function stormexpense_list() {
$s_totals = "SELECT SUM(amount) AS t_amount, SUM(tax1) AS t_tax1, SUM(tax2) AS t_tax2, SUM(total) AS t_total FROM $s_totals = "SELECT SUM(amount) AS t_amount, SUM(tax1) AS t_tax1, SUM(tax2) AS t_tax2, SUM(total) AS t_total FROM
{node} AS n INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid WHERE n.status=1 AND n.type='stormexpense' "; {node} AS n INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid WHERE n.status=1 AND n.type='stormexpense' ";
$where = array(); if (_storm_isset_filter_param('expense', 'organization_nid', 0)) {
$args = array();
$filterfields = array();
if (isset($_SESSION['stormexpense_list_filter']['organization_nid']) && $_SESSION['stormexpense_list_filter']['organization_nid'] != 0) {
$where[] = 'sex.organization_nid=%d'; $where[] = 'sex.organization_nid=%d';
$args[] = $_SESSION['stormexpense_list_filter']['organization_nid']; $args[] = $_SESSION['stormexpense_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormexpense_list_filter']['project_nid']) && $_SESSION['stormexpense_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('expense', 'project_nid', 0)) {
$where[] = 'sex.project_nid=%d'; $where[] = 'sex.project_nid=%d';
$args[] = $_SESSION['stormexpense_list_filter']['project_nid']; $args[] = $_SESSION['stormexpense_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormexpense_list_filter']['task_nid']) && $_SESSION['stormexpense_list_filter']['task_nid'] != 0) { if (_storm_isset_filter_param('expense', 'task_nid', 0)) {
$where[] = 'sex.task_nid=%d'; $where[] = 'sex.task_nid=%d';
$args[] = $_SESSION['stormexpense_list_filter']['task_nid']; $args[] = $_SESSION['stormexpense_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
if (isset($_SESSION['stormexpense_list_filter']['ticket_nid']) && $_SESSION['stormexpense_list_filter']['ticket_nid'] != 0) { if (_storm_isset_filter_param('expense', 'ticket_nid', 0)) {
$where[] = 'sex.ticket_nid=%d'; $where[] = 'sex.ticket_nid=%d';
$args[] = $_SESSION['stormexpense_list_filter']['ticket_nid']; $args[] = $_SESSION['stormexpense_list_filter']['ticket_nid'];
$filterfields[] = t('Ticket'); $filterfields[] = t('Ticket');
} }
if (isset($_SESSION['stormexpense_list_filter']['datefrom']) && $_SESSION['stormexpense_list_filter']['datefrom']['day'] != -1) {
if (_storm_isset_filter_param('expense', 'datefrom', NULL, -1)) {
$datefrom = $_SESSION['stormexpense_list_filter']['datefrom']; $datefrom = $_SESSION['stormexpense_list_filter']['datefrom'];
$datefrom['hour'] = 0; $datefrom['hour'] = 0;
$datefrom['minute'] = 0; $datefrom['minute'] = 0;
@ -119,26 +120,26 @@ function stormexpense_list() {
$args[] = _storm_datetime_to_gmtimestamp($datefrom); $args[] = _storm_datetime_to_gmtimestamp($datefrom);
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
if (isset($_SESSION['stormexpense_list_filter']['title']) && $_SESSION['stormexpense_list_filter']['title'] != '') {
$where[] = "LOWER(n.title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormexpense_list_filter']['title'];
$filterfields[] = t('Title');
}
if (isset($_SESSION['stormexpense_list_filter']['provider_title']) && $_SESSION['stormexpense_list_filter']['provider_title'] != '') {
$where[] = "LOWER(sex.provider_title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormexpense_list_filter']['provider_title'];
$filterfields[] = t('Provider');
}
$itemsperpage = isset($_SESSION['stormexpense_list_filter']['itemsperpage']) ? $_SESSION['stormexpense_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); if (_storm_isset_filter_param('expense', 'user', '')) {
if (isset($_SESSION['stormexpense_list_filter']['user']) && $_SESSION['stormexpense_list_filter']['user'] != '') {
$expenseuser = user_load(array('name' => $_SESSION['stormexpense_list_filter']['user'])); $expenseuser = user_load(array('name' => $_SESSION['stormexpense_list_filter']['user']));
if ($expenseuser === FALSE) $expenseuser->uid = -1; if ($expenseuser === FALSE) $expenseuser->uid = -1;
$where[] = 'n.uid=%d'; $where[] = 'n.uid=%d';
$args[] = $expenseuser->uid; $args[] = $expenseuser->uid;
$filterfields[] = t('User'); $filterfields[] = t('User');
} }
if (_storm_isset_filter_param('expense', 'title', '')) {
$where[] = "LOWER(n.title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormexpense_list_filter']['title'];
$filterfields[] = t('Title');
}
if (_storm_isset_filter_param('expense', 'provider_title', '')) {
$where[] = "LOWER(sex.provider_title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormexpense_list_filter']['provider_title'];
$filterfields[] = t('Provider');
}
$itemsperpage = _storm_get_filter_param('expense', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -175,18 +176,19 @@ function stormexpense_list() {
} }
function stormexpense_list_filter(&$form_state, $filterdesc = 'Filter') { function stormexpense_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormexpense_list_filter']['organization_nid']) ? $_SESSION['stormexpense_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('expense', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormexpense_list_filter']['project_nid']) ? $_SESSION['stormexpense_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('expense', 'project_nid', 0);
$task_nid = isset($_SESSION['stormexpense_list_filter']['task_nid']) ? $_SESSION['stormexpense_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('expense', 'task_nid', 0);
$ticket_nid = isset($_SESSION['stormexpense_list_filter']['ticket_nid']) ? $_SESSION['stormexpense_list_filter']['ticket_nid'] : 0; $ticket_nid = _storm_get_filter_param('expense', 'ticket_nid', 0);
$itemsperpage = isset($_SESSION['stormexpense_list_filter']['itemsperpage']) ? $_SESSION['stormexpense_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormexpense_list_filter']['itemsperpage'] = $itemsperpage;
$title = isset($_SESSION['stormexpense_list_filter']['title']) ? $_SESSION['stormexpense_list_filter']['title'] : '';
$provider_title = isset($_SESSION['stormexpense_list_filter']['provider_title']) ? $_SESSION['stormexpense_list_filter']['provider_title'] : '';
$datefrom = isset($_SESSION['stormexpense_list_filter']['datefrom']) ? $_SESSION['stormexpense_list_filter']['datefrom'] : NULL; $datefrom = _storm_get_filter_param('expense', 'datefrom');
$expenseuser = _storm_get_filter_param('expense', 'user', '');
$title = _storm_get_filter_param('expense', 'title', '');
$provider_title = _storm_get_filter_param('expense', 'provider_title', '');
$itemsperpage = _storm_get_filter_param('expense', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$expenseuser = isset($_SESSION['stormexpense_list_filter']['user']) ? $_SESSION['stormexpense_list_filter']['user'] : '';
$form = array(); $form = array();

View file

@ -39,14 +39,13 @@ function stormidea_list() {
$args = array(); $args = array();
$filterfields = array(); $filterfields = array();
if (isset($_SESSION['stormidea_list_filter']['title']) && $_SESSION['stormidea_list_filter']['title'] != '') { if (_storm_isset_filter_param('idea', 'title', '')) {
$where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')"; $where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')";
$args[] = $_SESSION['stormidea_list_filter']['title']; $args[] = $_SESSION['stormidea_list_filter']['title'];
$filterfields[] = t('Title'); $filterfields[] = t('Title');
} }
// This section only provides the value for the fieldset label, doesn't control actual filter $itemsperpage = _storm_get_filter_param('idea', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormidea_list_filter']['itemsperpage']) ? $_SESSION['stormidea_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -75,10 +74,10 @@ function stormidea_list() {
} }
function stormidea_list_filter(&$form_state, $filterdesc = 'Filter') { function stormidea_list_filter(&$form_state, $filterdesc = 'Filter') {
$title = isset($_SESSION['stormidea_list_filter']['title']) ? $_SESSION['stormidea_list_filter']['title'] : ''; $title = _storm_get_filter_param('idea', 'title', '');
$itemsperpage = _storm_get_filter_param('idea', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormidea_list_filter']['itemsperpage']) ? $_SESSION['stormidea_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormidea_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -11,22 +11,22 @@ function storminvoice_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['storminvoice_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['storminvoice_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['storminvoice_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('invoice', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['storminvoice_list_filter']['project_nid']); _storm_set_filter_param('invoice', 'project_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['storminvoice_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['storminvoice_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['storminvoice_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('invoice', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['storminvoice_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('invoice', 'organization_nid', $p->organization_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
unset($_SESSION['storminvoice_list_filter']['reqdatefrom']); _storm_set_filter_param('invoice', 'reqdatefrom');
unset($_SESSION['storminvoice_list_filter']['reqdateto']); _storm_set_filter_param('invoice', 'reqdateto');
$_SESSION['storminvoice_list_filter']['status'] = ''; _storm_set_filter_param('invoice', 'status', '');
} }
$i = new stdClass(); $i = new stdClass();
@ -60,7 +60,11 @@ function storminvoice_list() {
), ),
); );
$s = "SELECT n.title, n.type, n.uid, sin.*, nre.format FROM {node} AS n $where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.title, n.type, n.uid, sin.*, nre.format FROM {node} AS n
INNER JOIN {storminvoice} AS sin ON n.vid=sin.vid INNER JOIN {storminvoice} AS sin ON n.vid=sin.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='storminvoice' "; WHERE n.status=1 AND n.type='storminvoice' ";
@ -74,58 +78,44 @@ function storminvoice_list() {
$s_totals = "SELECT SUM(amount) amount, SUM(tax1) tax1, SUM(tax2) tax2, SUM(total) total FROM {storminvoice} sin $s_totals = "SELECT SUM(amount) amount, SUM(tax1) tax1, SUM(tax2) tax2, SUM(total) total FROM {storminvoice} sin
INNER JOIN {node} n ON n.vid=sin.vid WHERE n.status=1 AND n.type='storminvoice'"; INNER JOIN {node} n ON n.vid=sin.vid WHERE n.status=1 AND n.type='storminvoice'";
$where = array(); if (_storm_isset_filter_param('invoice', 'organization_nid', 0)) {
$args = array();
$filterfields = array();
if (isset($_SESSION['storminvoice_list_filter']['organization_nid']) && $_SESSION['storminvoice_list_filter']['organization_nid'] != 0) {
$where[] = 'sin.organization_nid=%d'; $where[] = 'sin.organization_nid=%d';
$args[] = $_SESSION['storminvoice_list_filter']['organization_nid']; $args[] = $_SESSION['storminvoice_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['storminvoice_list_filter']['project_nid']) && $_SESSION['storminvoice_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('invoice', 'project_nid', 0)) {
$where[] = 'sin.project_nid=%d'; $where[] = 'sin.project_nid=%d';
$args[] = $_SESSION['storminvoice_list_filter']['project_nid']; $args[] = $_SESSION['storminvoice_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['storminvoice_list_filter']['reqdatefrom'])) {
if (_storm_isset_filter_param('invoice', 'reqdatefrom')) {
$reqdatefrom = $_SESSION['storminvoice_list_filter']['reqdatefrom']; $reqdatefrom = $_SESSION['storminvoice_list_filter']['reqdatefrom'];
$where[] = 'sin.requestdate>=%d'; $where[] = 'sin.requestdate>=%d';
$args[] = _storm_date_to_gmtimestamp($reqdatefrom); $args[] = _storm_date_to_gmtimestamp($reqdatefrom);
$filterfields[] = t('Request date'); $filterfields[] = t('Request date');
} }
if (isset($_SESSION['storminvoice_list_filter']['reqdateto']) && $_SESSION['storminvoice_list_filter']['reqdateto']['day'] != -1) { if (_storm_isset_filter_param('invoice', 'reqdateto')) {
$reqdateto = $_SESSION['storminvoice_list_filter']['reqdateto']; $reqdateto = $_SESSION['storminvoice_list_filter']['reqdateto'];
$where[] = 'sin.requestdate<=%d'; $where[] = 'sin.requestdate<=%d';
$args[] = _storm_date_to_gmtimestamp($reqdateto); $args[] = _storm_date_to_gmtimestamp($reqdateto);
$filterfields[] = t('Request date'); $filterfields[] = t('Request date');
} }
$status = isset($_SESSION['storminvoice_list_filter']['status']) ? $_SESSION['storminvoice_list_filter']['status'] : '-'; if (_storm_isset_filter_param('invoice', 'status', '', '-')) {
if ($status != '-') { if ($_SESSION['storminvoice_list_filter']['status'] == 'to pay') {
if ($status == 'to pay') {
$where[] = "sin.paymentdate=0"; $where[] = "sin.paymentdate=0";
} }
if ($status == 'paid') { if ($_SESSION['storminvoice_list_filter']['status'] == 'paid') {
$where[] = "sin.paymentdate<>0"; $where[] = "sin.paymentdate<>0";
} }
if ($status == 'overdue') { if ($_SESSION['storminvoice_list_filter']['status'] == 'overdue') {
$where[] = "sin.paymentdate=0 AND sin.duedate<". time(); $where[] = "sin.paymentdate=0 AND sin.duedate<". time();
} }
$filterfields[] = t('Status'); $filterfields[] = t('Status');
} }
$itemsperpage = isset($_SESSION['storminvoice_list_filter']['itemsperpage']) ? $_SESSION['storminvoice_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $itemsperpage = _storm_get_filter_param('invoice', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$_SESSION['storminvoice_list_filter']['itemsperpage'] = $itemsperpage;
$tablesort = tablesort_sql($header);
if ($tablesort == " ORDER BY sin.number ASC") {
$tablesort = " ORDER BY LPAD(sin.number, 10, '0') ASC";
}
elseif ($tablesort == " ORDER BY sin.number DESC") {
$tablesort = " ORDER BY LPAD(sin.number, 10, '0') DESC";
}
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -139,7 +129,17 @@ function storminvoice_list() {
$s = storminvoice_access_sql($s, $where); $s = storminvoice_access_sql($s, $where);
$s = db_rewrite_sql($s); $s = db_rewrite_sql($s);
$tablesort = tablesort_sql($header);
if ($tablesort == " ORDER BY sin.number ASC") {
$tablesort = " ORDER BY LPAD(sin.number, 10, '0') ASC";
}
elseif ($tablesort == " ORDER BY sin.number DESC") {
$tablesort = " ORDER BY LPAD(sin.number, 10, '0') DESC";
}
$r = pager_query($s . $tablesort, $itemsperpage, 0, NULL, $args); $r = pager_query($s . $tablesort, $itemsperpage, 0, NULL, $args);
$invoices = array(); $invoices = array();
while ($invoice = db_fetch_object($r)) { while ($invoice = db_fetch_object($r)) {
$invoices[] = $invoice; $invoices[] = $invoice;
@ -165,14 +165,16 @@ function storminvoice_list() {
} }
function storminvoice_list_filter(&$form_state, $filterdesc = 'Filter') { function storminvoice_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['storminvoice_list_filter']['organization_nid']) ? $_SESSION['storminvoice_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('invoice', 'organization_nid', 0);
$project_nid = isset($_SESSION['storminvoice_list_filter']['project_nid']) ? $_SESSION['storminvoice_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('invoice', 'project_nid', 0);
$status = isset($_SESSION['storminvoice_list_filter']['status']) ? $_SESSION['storminvoice_list_filter']['status'] : '';
$itemsperpage = isset($_SESSION['storminvoice_list_filter']['itemsperpage']) ? $_SESSION['storminvoice_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $reqdatefrom = _storm_get_filter_param('invoice', 'reqdatefrom');
$_SESSION['storminvoice_list_filter']['itemsperpage'] = $itemsperpage; $reqdateto = _storm_get_filter_param('invoice', 'reqdateto');
$status = _storm_get_filter_param('invoice', 'status', '');
$itemsperpage = _storm_get_filter_param('invoice', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$reqdatefrom = isset($_SESSION['storminvoice_list_filter']['reqdatefrom']) ? $_SESSION['storminvoice_list_filter']['reqdatefrom'] : NULL;
$reqdateto = isset($_SESSION['storminvoice_list_filter']['reqdateto']) ? $_SESSION['storminvoice_list_filter']['reqdateto'] : NULL;
$form = array(); $form = array();

View file

@ -11,39 +11,34 @@ function stormnote_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormnote_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormnote_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormnote_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('note', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormnote_list_filter']['project_nid']); _storm_set_filter_param('note', 'project_nid');
unset($_SESSION['stormnote_list_filter']['task_nid']); _storm_set_filter_param('note', 'task_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormnote_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormnote_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormnote_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('note', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormnote_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('note', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormnote_list_filter']['task_nid']); _storm_set_filter_param('note', 'task_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormnote_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormnote_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormnote_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('note', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormnote_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('note', 'organization_nid', $t->organization_nid);
$_SESSION['stormnote_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('note', 'project_nid', $t->project_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormnote_list_filter']['title'] = ''; _storm_set_filter_param('note', 'title', '');
} }
$i = new stdClass(); $i = new stdClass();
$i->type = 'stormnote'; $i->type = 'stormnote';
$params = $_GET;
if (isset($_SESSION['stormnote_list_filter']['organization_nid'])) {
$params['organization_nid'] = $_SESSION['stormnote_list_filter']['organization_nid'];
}
$header = array( $header = array(
array( array(
'data' => t('Title') . ' / ' . t('Organization') . ' » ' . t('Project') . ' » ' . t('Task'), 'data' => t('Title') . ' / ' . t('Organization') . ' » ' . t('Project') . ' » ' . t('Task'),
@ -69,44 +64,44 @@ function stormnote_list() {
'class' => 'storm_list_version', 'class' => 'storm_list_version',
), ),
array( array(
'data' => storm_icon_add_node($i, $params), 'data' => storm_icon_add_node($i, $_GET),
'class' => 'storm_list_operations', 'class' => 'storm_list_operations',
), ),
); );
$s = "SELECT n.*, sno.*, nre.format, fno.field_stormnote_attached_list AS clip FROM {node} AS n
INNER JOIN {stormnote} AS sno ON n.vid=sno.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
LEFT JOIN {content_field_stormnote_attached} AS fno ON n.vid = fno.vid AND fno.field_stormnote_attached_list = 1 AND fno.delta = 0
WHERE n.status=1 AND n.type='stormnote'";
$where = array(); $where = array();
$args = array(); $args = array();
$filterfields = array(); $filterfields = array();
if (isset($_SESSION['stormnote_list_filter']['organization_nid']) && $_SESSION['stormnote_list_filter']['organization_nid'] != 0) { $s = "SELECT n.*, sno.*, nre.format, fno.field_stormnote_attached_list AS clip FROM {node} AS n
INNER JOIN {stormnote} AS sno ON n.vid=sno.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
LEFT JOIN {content_field_stormnote_attached} AS fno ON n.vid = fno.vid AND fno.field_stormnote_attached_list = 1 AND fno.delta = 0
WHERE n.status=1 AND n.type='stormnote'";
if (_storm_isset_filter_param('note', 'organization_nid', 0)) {
$where[] = 'sno.organization_nid=%d'; $where[] = 'sno.organization_nid=%d';
$args[] = $_SESSION['stormnote_list_filter']['organization_nid']; $args[] = $_SESSION['stormnote_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormnote_list_filter']['project_nid']) && $_SESSION['stormnote_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('note', 'project_nid', 0)) {
$where[] = 'sno.project_nid=%d'; $where[] = 'sno.project_nid=%d';
$args[] = $_SESSION['stormnote_list_filter']['project_nid']; $args[] = $_SESSION['stormnote_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormnote_list_filter']['task_nid']) && $_SESSION['stormnote_list_filter']['task_nid'] != 0) { if (_storm_isset_filter_param('note', 'task_nid', 0)) {
$where[] = 'sno.task_nid=%d'; $where[] = 'sno.task_nid=%d';
$args[] = $_SESSION['stormnote_list_filter']['task_nid']; $args[] = $_SESSION['stormnote_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
if (isset($_SESSION['stormnote_list_filter']['title']) && $_SESSION['stormnote_list_filter']['title'] != '') {
if (_storm_isset_filter_param('note', 'title', '')) {
$where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')"; $where[] = "LOWER(n.title) LIKE CONCAT('%', LOWER('%s'), '%')";
$args[] = $_SESSION['stormnote_list_filter']['title']; $args[] = $_SESSION['stormnote_list_filter']['title'];
$filterfields[] = t('Title'); $filterfields[] = t('Title');
} }
// This section only provides the value for the fieldset label, doesn't control actual filter $itemsperpage = _storm_get_filter_param('note', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -135,13 +130,14 @@ function stormnote_list() {
} }
function stormnote_list_filter(&$form_state, $filterdesc = 'Filter') { function stormnote_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormnote_list_filter']['organization_nid']) ? $_SESSION['stormnote_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('note', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormnote_list_filter']['project_nid']) ? $_SESSION['stormnote_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('note', 'project_nid', 0);
$task_nid = isset($_SESSION['stormnote_list_filter']['task_nid']) ? $_SESSION['stormnote_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('note', 'task_nid', 0);
$title = isset($_SESSION['stormnote_list_filter']['title']) ? $_SESSION['stormnote_list_filter']['title'] : '';
$title = _storm_get_filter_param('note', 'title', '');
$itemsperpage = _storm_get_filter_param('note', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormnote_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -11,7 +11,7 @@ function stormorganization_list() {
if (array_key_exists('name', $_GET)) { if (array_key_exists('name', $_GET)) {
if ($_SESSION['stormorganization_list_filter']['name'] != $_GET['name']) { if ($_SESSION['stormorganization_list_filter']['name'] != $_GET['name']) {
$_SESSION['stormorganization_list_filter']['name'] = $_GET['name']; _storm_set_filter_param('organization', 'name', $_GET['name']);
} }
} }
@ -35,63 +35,56 @@ function stormorganization_list() {
), ),
); );
$where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.*, sor.*, nre.format FROM {node} AS n $s = "SELECT n.*, sor.*, nre.format FROM {node} AS n
INNER JOIN {stormorganization} AS sor ON n.vid=sor.vid INNER JOIN {stormorganization} AS sor ON n.vid=sor.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormorganization'"; WHERE n.status=1 AND n.type='stormorganization'";
$where = array(); if (_storm_isset_filter_param('organization', 'country', '-')) {
$args = array();
$filterfields = array();
$country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-';
if ($country != '-') {
$where[] = "sor.country='%s'"; $where[] = "sor.country='%s'";
$args[] = $_SESSION['stormorganization_list_filter']['country']; $args[] = $_SESSION['stormorganization_list_filter']['country'];
$filterfields[] = t('Country'); $filterfields[] = t('Country');
} }
if (isset($_SESSION['stormorganization_list_filter']['name']) && $_SESSION['stormorganization_list_filter']['name'] != '') { if (_storm_isset_filter_param('organization', 'name', '')) {
$where[] = "LOWER(n.title) LIKE LOWER('%s')"; $where[] = "LOWER(n.title) LIKE LOWER('%s')";
$args[] = $_SESSION['stormorganization_list_filter']['name']; $args[] = $_SESSION['stormorganization_list_filter']['name'];
$filterfields[] = t('Name'); $filterfields[] = t('Name');
} }
$iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : '-'; if (_storm_isset_filter_param('organization', 'iscustomer', NULL, '-')) {
if ($iscustomer != '-') { if ($_SESSION['stormorganization_list_filter']['iscustomer'] == 'yes') {
if ($iscustomer == 'yes') {
$where[] = "sor.iscustomer=1"; $where[] = "sor.iscustomer=1";
} }
elseif ($iscustomer == 'no') { elseif ($_SESSION['stormorganization_list_filter']['iscustomer'] == 'no') {
$where[] = "sor.iscustomer=0"; $where[] = "sor.iscustomer=0";
} }
$filterfields[] = t('Customer'); $filterfields[] = t('Customer');
} }
if (_storm_isset_filter_param('organization', 'isprovider', NULL, '-')) {
$isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : '-'; if ($_SESSION['stormorganization_list_filter']['isprovider'] == 'yes') {
if ($isprovider != '-') {
if ($isprovider == 'yes') {
$where[] = "sor.isprovider=1"; $where[] = "sor.isprovider=1";
} }
elseif ($isprovider == 'no') { elseif ($_SESSION['stormorganization_list_filter']['isprovider'] == 'no') {
$where[] = "sor.isprovider=0"; $where[] = "sor.isprovider=0";
} }
$filterfields[] = t('Provider'); $filterfields[] = t('Provider');
} }
if (_storm_isset_filter_param('organization', 'isactive', 'yes', '-')) {
$isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : '-'; if ($_SESSION['stormorganization_list_filter']['isactive'] == 'yes') {
if ($isactive != '-') {
if ($isactive == 'yes') {
$where[] = "sor.isactive=1"; $where[] = "sor.isactive=1";
} }
elseif ($isactive == 'no') { elseif ($_SESSION['stormorganization_list_filter']['isactive'] == 'no') {
$where[] = "sor.isactive=0"; $where[] = "sor.isactive=0";
} }
$filterfields[] = t('Active'); $filterfields[] = t('Active');
} }
// Sets value for fieldset label, does not affect filter itself. $itemsperpage = _storm_get_filter_param('organization', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -120,18 +113,16 @@ function stormorganization_list() {
function stormorganization_list_filter(&$form_state, $filterdesc = 'Filter') { function stormorganization_list_filter(&$form_state, $filterdesc = 'Filter') {
$country_list = storm_attributes_bydomain('Country'); $country_list = storm_attributes_bydomain('Country');
$country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-'; $country = _storm_get_filter_param('organization', 'country', '-');
$_SESSION['stormorganization_list_filter']['country'] = $country;
$name = isset($_SESSION['stormorganization_list_filter']['name']) ? $_SESSION['stormorganization_list_filter']['name'] : ''; $name = _storm_get_filter_param('organization', 'name', '');
$iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : NULL;
$isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : NULL;
$isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : 'yes'; $iscustomer = _storm_get_filter_param('organization', 'iscustomer');
$_SESSION['stormorganization_list_filter']['isactive'] = $isactive; $isprovider = _storm_get_filter_param('organization', 'isprovider');
$isactive = _storm_get_filter_param('organization', 'isactive', 'yes');
$itemsperpage = _storm_get_filter_param('organization', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormorganization_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -11,19 +11,16 @@ function stormperson_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormperson_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormperson_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormperson_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('person', 'organization_nid', $_GET['organization_nid']);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormperson_list_filter']['name'] = ''; _storm_set_filter_param('person', 'name', '');
} }
} }
$i = new stdClass(); $i = new stdClass();
$i->type = 'stormperson'; $i->type = 'stormperson';
$params = $_GET;
$params['organization_nid'] = isset($_SESSION['stormperson_list_filter']['organization_nid']) ? $_SESSION['stormperson_list_filter']['organization_nid'] : NULL;
$header = array( $header = array(
array( array(
'data' => t('Organization'), 'data' => t('Organization'),
@ -38,7 +35,7 @@ function stormperson_list() {
'field' => 'spe.email', 'field' => 'spe.email',
), ),
array( array(
'data' => storm_icon_add_node($i, $params), 'data' => storm_icon_add_node($i, $_GET),
'class' => 'storm_list_operations', 'class' => 'storm_list_operations',
), ),
); );
@ -47,23 +44,24 @@ function stormperson_list() {
$args = array(); $args = array();
$filterfields = array(); $filterfields = array();
$s = "SELECT n.*, spe.*, nre.format FROM {node} AS n $s = "SELECT n.*, spe.*, nre.format FROM {node} AS n
INNER JOIN {stormperson} AS spe ON n.vid=spe.vid INNER JOIN {stormperson} AS spe ON n.vid=spe.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormperson' "; WHERE n.status=1 AND n.type='stormperson' ";
if (isset($_SESSION['stormperson_list_filter']['organization_nid']) && $_SESSION['stormperson_list_filter']['organization_nid'] != 0) {
if (_storm_isset_filter_param('person', 'organization_nid', 0)) {
$where[] = 'spe.organization_nid=%d'; $where[] = 'spe.organization_nid=%d';
$args[] = $_SESSION['stormperson_list_filter']['organization_nid']; $args[] = $_SESSION['stormperson_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormperson_list_filter']['name']) && $_SESSION['stormperson_list_filter']['name'] != '') {
if (_storm_isset_filter_param('person', 'name', '')) {
$where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')"; $where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')";
$args[] = $_SESSION['stormperson_list_filter']['name']; $args[] = $_SESSION['stormperson_list_filter']['name'];
$filterfields[] = t('Name'); $filterfields[] = t('Name');
} }
// Sets $itemsperpage for fieldset label, but this section does not control storing of session variable. $itemsperpage = _storm_get_filter_param('person', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormperson_list_filter']['itemsperpage']) ? $_SESSION['stormperson_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -92,11 +90,11 @@ function stormperson_list() {
} }
function stormperson_list_filter(&$form_state, $filterdesc = 'Filter') { function stormperson_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormperson_list_filter']['organization_nid']) ? $_SESSION['stormperson_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('person', 'organization_nid', 0);
$name = isset($_SESSION['stormperson_list_filter']['name']) ? $_SESSION['stormperson_list_filter']['name'] : ''; $name = _storm_get_filter_param('person', 'name', '');
$itemsperpage = _storm_get_filter_param('person', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormperson_list_filter']['itemsperpage']) ? $_SESSION['stormperson_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormperson_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -5,27 +5,30 @@
*/ */
function stormproject_list() { function stormproject_list() {
global $user;
$breadcrumb = array(); $breadcrumb = array();
$breadcrumb[] = l(t('Home'), '<front>'); $breadcrumb[] = l(t('Home'), '<front>');
drupal_set_breadcrumb($breadcrumb); drupal_set_breadcrumb($breadcrumb);
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormproject_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormproject_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormproject_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('project', 'organization_nid', $_GET['organization_nid']);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormproject_list_filter']['projectcategory'] = '-'; _storm_set_filter_param('project', 'projectcategory', '-');
$_SESSION['stormproject_list_filter']['projectstatus'] = '-'; _storm_set_filter_param('project', 'projectstatus', '-');
$_SESSION['stormproject_list_filter']['projectpriority'] = '-'; _storm_set_filter_param('project', 'projectpriority', '-');
unset($_SESSION['stormproject_list_filter']['datebeginfrom']); _storm_set_filter_param('project', 'datebeginfrom');
unset($_SESSION['stormproject_list_filter']['datebeginto']); _storm_set_filter_param('project', 'datebeginto');
unset($_SESSION['stormproject_list_filter']['dateendfrom']); _storm_set_filter_param('project', 'dateendfrom');
unset($_SESSION['stormproject_list_filter']['dateendto']); _storm_set_filter_param('project', 'dateendto');
unset($_SESSION['stormproject_list_filter']['assigned_to']);
$_SESSION['stormproject_list_filter']['billable'] = '-'; _storm_set_filter_param('project', 'assigned_to');
$_SESSION['stormproject_list_filter']['billed'] = '-';
_storm_set_filter_param('project', 'billable', '-');
_storm_set_filter_param('project', 'billed', '-');
} }
} }
@ -70,37 +73,35 @@ function stormproject_list() {
), ),
); );
$s = "SELECT n.*, spr.*, nre.format FROM {node} AS n
INNER JOIN {stormproject} AS spr ON n.vid=spr.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormproject'";
$where = array(); $where = array();
$args = array(); $args = array();
$filterfields = array(); $filterfields = array();
if (isset($_SESSION['stormproject_list_filter']['organization_nid']) && ($_SESSION['stormproject_list_filter']['organization_nid'] != 0)) { $s = "SELECT n.*, spr.*, nre.format FROM {node} AS n
INNER JOIN {stormproject} AS spr ON n.vid=spr.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormproject'";
if (_storm_isset_filter_param('project', 'organization_nid', 0)) {
$where[] = 'spr.organization_nid=%d'; $where[] = 'spr.organization_nid=%d';
$args[] = $_SESSION['stormproject_list_filter']['organization_nid']; $args[] = $_SESSION['stormproject_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
$category_list = storm_attributes_bydomain('project category search'); $category_list = storm_attributes_bydomain('Project category search');
$projectcategory = isset($_SESSION['stormproject_list_filter']['projectcategory']) ? $_SESSION['stormproject_list_filter']['projectcategory'] : $category_list['default']; if (_storm_isset_filter_param('project', 'projectcategory', $category_list['default'], '-')) {
$_SESSION['stormproject_list_filter']['projectcategory'] = $projectcategory; $category = split(',', $_SESSION['stormproject_list_filter']['projectcategory']);
$v = array();
if ($projectcategory != '-') { foreach ($category as $item) $v[] = '%s';
$where[] = "spr.projectcategory='%s'"; $where[] = "spr.projectcategory IN ('". implode("','", $v) ."')";
$args[] = $projectcategory; foreach ($category as $key => $value) {
$args[] = $value;
}
$filterfields[] = t('Category'); $filterfields[] = t('Category');
} }
$status_list = storm_attributes_bydomain('Project status search');
$status_list = storm_attributes_bydomain('project status search'); if (_storm_isset_filter_param('project', 'projectstatus', $status_list['default'], '-')) {
$projectstatus = isset($_SESSION['stormproject_list_filter']['projectstatus']) ? $_SESSION['stormproject_list_filter']['projectstatus'] : $status_list['default']; $status = split(',', $_SESSION['stormproject_list_filter']['projectstatus']);
$_SESSION['stormproject_list_filter']['projectstatus'] = $projectstatus;
if ($projectstatus != '-') {
$status = split(',', $projectstatus);
$v = array(); $v = array();
foreach ($status as $item) $v[] = '%s'; foreach ($status as $item) $v[] = '%s';
$where[] = "spr.projectstatus IN ('". implode("','", $v) ."')"; $where[] = "spr.projectstatus IN ('". implode("','", $v) ."')";
@ -109,18 +110,19 @@ function stormproject_list() {
} }
$filterfields[] = t('Status'); $filterfields[] = t('Status');
} }
$priority_list = storm_attributes_bydomain('Project priority search');
$priority_list = storm_attributes_bydomain('project priority search'); if (_storm_isset_filter_param('project', 'projectpriority', $priority_list['default'], '-')) {
$projectpriority = isset($_SESSION['stormproject_list_filter']['projectpriority']) ? $_SESSION['stormproject_list_filter']['projectpriority'] : $priority_list['default']; $priority = split(',', $_SESSION['stormproject_list_filter']['projectpriority']);
$_SESSION['stormproject_list_filter']['projectpriority'] = $projectpriority; $v = array();
foreach ($priority as $item) $v[] = '%s';
if ($projectpriority != '-') { $where[] = "spr.projectpriority IN ('". implode("','", $v) ."')";
$where[] = "spr.projectpriority='%s'"; foreach ($priority as $key => $value) {
$args[] = $projectpriority; $args[] = $value;
}
$filterfields[] = t('Priority'); $filterfields[] = t('Priority');
} }
if (isset($_SESSION['stormproject_list_filter']['datebeginfrom'])) { if (_storm_isset_filter_param('project', 'datebeginfrom')) {
$datebeginfrom = $_SESSION['stormproject_list_filter']['datebeginfrom']; $datebeginfrom = $_SESSION['stormproject_list_filter']['datebeginfrom'];
$datebeginfrom['hour'] = 0; $datebeginfrom['hour'] = 0;
$datebeginfrom['minute'] = 0; $datebeginfrom['minute'] = 0;
@ -131,8 +133,7 @@ function stormproject_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('project', 'datebeginto')) {
if (isset($_SESSION['stormproject_list_filter']['datebeginto'])) {
$datebeginto = $_SESSION['stormproject_list_filter']['datebeginto']; $datebeginto = $_SESSION['stormproject_list_filter']['datebeginto'];
$datebeginto['hour'] = 23; $datebeginto['hour'] = 23;
$datebeginto['minute'] = 59; $datebeginto['minute'] = 59;
@ -143,8 +144,7 @@ function stormproject_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('project', 'dateendfrom')) {
if (isset($_SESSION['stormproject_list_filter']['dateendfrom'])) {
$dateendfrom = $_SESSION['stormproject_list_filter']['dateendfrom']; $dateendfrom = $_SESSION['stormproject_list_filter']['dateendfrom'];
$dateendfrom['hour'] = 0; $dateendfrom['hour'] = 0;
$dateendfrom['minute'] = 0; $dateendfrom['minute'] = 0;
@ -155,8 +155,7 @@ function stormproject_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('project', 'dateendto')) {
if (isset($_SESSION['stormproject_list_filter']['dateendto'])) {
$dateendto = $_SESSION['stormproject_list_filter']['dateendto']; $dateendto = $_SESSION['stormproject_list_filter']['dateendto'];
$dateendto['hour'] = 23; $dateendto['hour'] = 23;
$dateendto['minute'] = 59; $dateendto['minute'] = 59;
@ -168,21 +167,25 @@ function stormproject_list() {
} }
} }
if (isset($_SESSION['stormproject_list_filter']['assigned_to'])) { if (_storm_isset_filter_param('project', 'assigned_to')) {
if (!is_numeric($_SESSION['stormproject_list_filter']['assigned_to'])) { if (!is_numeric($_SESSION['stormproject_list_filter']['assigned_to'])) {
switch ($_SESSION['stormproject_list_filter']['assigned_to']) { switch ($_SESSION['stormproject_list_filter']['assigned_to']) {
case 'all': case 'all':
// NO FILTER // NO FILTER
break; break;
case 'mine': case 'mine':
// CURRENT USER // CURRENT USER
if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) { if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) {
$assigned_to_nid = $user->stormperson_nid; $assigned_to_nid = $user->stormperson_nid;
} }
break; break;
case 'none': case 'none':
$where[] = '(spr.assigned_nid IS NULL OR spr.assigned_nid = 0) '; $where[] = '(spr.assigned_nid IS NULL OR spr.assigned_nid = 0) ';
break; break;
} }
} }
else { else {
@ -195,19 +198,18 @@ function stormproject_list() {
} }
} }
if (isset($_SESSION['stormproject_list_filter']['billable']) && $_SESSION['stormproject_list_filter']['billable'] != '-') { if (_storm_isset_filter_param('project', 'billable', '-')) {
$where[] = 'spr.billable=%d'; $where[] = 'spr.billable=%d';
$args[] = $_SESSION['stormproject_list_filter']['billable']; $args[] = $_SESSION['stormproject_list_filter']['billable'];
$filterfields[] = t('Billable'); $filterfields[] = t('Billable');
} }
if (_storm_isset_filter_param('project', 'billed', '-')) {
if (isset($_SESSION['stormproject_list_filter']['billed']) && $_SESSION['stormproject_list_filter']['billed'] != '-') {
$where[] = 'spr.billed=%d'; $where[] = 'spr.billed=%d';
$args[] = $_SESSION['stormproject_list_filter']['billed']; $args[] = $_SESSION['stormproject_list_filter']['billed'];
$filterfields[] = t('Billed'); $filterfields[] = t('Billed');
} }
$itemsperpage = isset($_SESSION['stormproject_list_filter']['itemsperpage']) ? $_SESSION['stormproject_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $itemsperpage = _storm_get_filter_param('project', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -236,26 +238,29 @@ function stormproject_list() {
} }
function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') { function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormproject_list_filter']['organization_nid']) ? $_SESSION['stormproject_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('project', 'organization_nid', 0);
$category_list = storm_attributes_bydomain('project category search'); $category_list = storm_attributes_bydomain('Project category search');
$projectcategory = isset($_SESSION['stormproject_list_filter']['projectcategory']) ? $_SESSION['stormproject_list_filter']['projectcategory'] : $category_list['default']; $projectcategory = _storm_get_filter_param('project', 'projectcategory', $category_list['default']);
$status_list = storm_attributes_bydomain('project status search'); $status_list = storm_attributes_bydomain('Project status search');
$projectstatus = isset($_SESSION['stormproject_list_filter']['projectstatus']) ? $_SESSION['stormproject_list_filter']['projectstatus'] : $status_list['default']; $projectstatus = _storm_get_filter_param('project', 'projectstatus', $status_list['default']);
$priority_list = storm_attributes_bydomain('project priority search'); $priority_list = storm_attributes_bydomain('Project priority search');
$projectpriority = isset($_SESSION['stormproject_list_filter']['projectpriority']) ? $_SESSION['stormproject_list_filter']['projectpriority'] : $priority_list['default']; $projectpriority = _storm_get_filter_param('project', 'projectpriority', $priority_list['default']);
$datebeginfrom = isset($_SESSION['stormproject_list_filter']['datebeginfrom']) ? $_SESSION['stormproject_list_filter']['datebeginfrom'] : NULL; $datebeginfrom = _storm_get_filter_param('project', 'datebeginfrom');
$datebeginto = isset($_SESSION['stormproject_list_filter']['datebeginto']) ? $_SESSION['stormproject_list_filter']['datebeginto'] : NULL; $datebeginto = _storm_get_filter_param('project', 'datebeginto');
$dateendfrom = isset($_SESSION['stormproject_list_filter']['dateendfrom']) ? $_SESSION['stormproject_list_filter']['dateendfrom'] : NULL; $dateendfrom = _storm_get_filter_param('project', 'dateendfrom');
$dateendto = isset($_SESSION['stormproject_list_filter']['dateendto']) ? $_SESSION['stormproject_list_filter']['dateendto'] : NULL; $dateendto = _storm_get_filter_param('project', 'dateendto');
$assigned_to = isset($_SESSION['stormproject_list_filter']['assigned_to']) ? $_SESSION['stormproject_list_filter']['assigned_to'] : NULL; $assigned_to = _storm_get_filter_param('project', 'assigned_to');
$billable = _storm_get_filter_param('project', 'billable', '-');
$billed = _storm_get_filter_param('project', 'billed', '-');
$itemsperpage = _storm_get_filter_param('project', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormproject_list_filter']['itemsperpage']) ? $_SESSION['stormproject_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormproject_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();
@ -275,11 +280,12 @@ function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') {
while ($organization = db_fetch_object($r)) { while ($organization = db_fetch_object($r)) {
$organizations[$organization->nid] = $organization->title; $organizations[$organization->nid] = $organization->title;
} }
$organizations = array(0 => t('All')) + $organizations;
$form['filter']['organization_nid'] = array( $form['filter']['organization_nid'] = array(
'#type' => 'select', '#type' => 'select',
'#title' => t('Organization'), '#title' => t('Organization'),
'#default_value' => $organization_nid, '#default_value' => $organization_nid,
'#options' => array(0 => t('All')) + $organizations, '#options' => $organizations,
); );
$form['filter']['group1'] = array( $form['filter']['group1'] = array(
@ -364,14 +370,14 @@ function stormproject_list_filter(&$form_state, $filterdesc = 'Filter') {
'#type' => 'select', '#type' => 'select',
'#title' => t('Billable'), '#title' => t('Billable'),
'#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')),
'#default_value' => isset($_SESSION['stormproject_list_filter']['billable']) ? $_SESSION['stormproject_list_filter']['billable'] : '-', '#default_value' => $billable,
); );
$form['filter']['group4']['billed'] = array( $form['filter']['group4']['billed'] = array(
'#type' => 'select', '#type' => 'select',
'#title' => t('Billed'), '#title' => t('Billed'),
'#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')),
'#default_value' => isset($_SESSION['stormproject_list_filter']['billed']) ? $_SESSION['stormproject_list_filter']['billed'] : '-', '#default_value' => $billed,
); );
$form['filter']['group5'] = array( $form['filter']['group5'] = array(

View file

@ -511,7 +511,6 @@ function _stormtask_project_assignments_js($organization_nid, $project_nid) {
} }
function stormtask_list() { function stormtask_list() {
global $user; global $user;
$breadcrumb = array(); $breadcrumb = array();
@ -520,30 +519,31 @@ function stormtask_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormtask_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormtask_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormtask_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('task', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormtask_list_filter']['project_nid']); _storm_set_filter_param('task', 'project_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormtask_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormtask_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormtask_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('task', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormtask_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('task', 'organization_nid', $p->organization_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormtask_list_filter']['taskcategory'] = '-'; _storm_set_filter_param('task', 'taskcategory', '-');
$_SESSION['stormtask_list_filter']['taskstatus'] = '-'; _storm_set_filter_param('task', 'taskstatus', '-');
$_SESSION['stormtask_list_filter']['taskpriority'] = '-'; _storm_set_filter_param('task', 'taskpriority', '-');
unset($_SESSION['stormtask_list_filter']['datebeginfrom']); _storm_set_filter_param('task', 'datebeginfrom');
unset($_SESSION['stormtask_list_filter']['datebeginto']); _storm_set_filter_param('task', 'datebeginto');
unset($_SESSION['stormtask_list_filter']['dateendfrom']); _storm_set_filter_param('task', 'dateendfrom');
unset($_SESSION['stormtask_list_filter']['dateendto']); _storm_set_filter_param('task', 'dateendto');
unset($_SESSION['stormtask_list_filter']['assigned_to']);
$_SESSION['stormtask_list_filter']['billable'] = '-'; _storm_set_filter_param('task', 'assigned_to');
$_SESSION['stormtask_list_filter']['billed'] = '-';
_storm_set_filter_param('task', 'billable', '-');
_storm_set_filter_param('task', 'billed', '-');
} }
$i = new stdClass(); $i = new stdClass();
@ -591,24 +591,26 @@ function stormtask_list() {
$args = array(); $args = array();
$filterfields = array(); $filterfields = array();
$s = "SELECT n.*, sta.*, nre.format, fta.field_stormtask_attached_list AS clip, ncs.comment_count FROM {node} AS n $s = "SELECT n.*, sta.*, nre.format, fta.field_stormtask_attached_list AS clip, ncs.comment_count FROM {node} AS n
INNER JOIN {stormtask} AS sta ON n.vid=sta.vid INNER JOIN {stormtask} AS sta ON n.vid=sta.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
LEFT JOIN {content_field_stormtask_attached} AS fta ON n.vid = fta.vid AND fta.field_stormtask_attached_list = 1 AND fta.delta = 0 LEFT JOIN {content_field_stormtask_attached} AS fta ON n.vid = fta.vid AND fta.field_stormtask_attached_list = 1 AND fta.delta = 0
LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid
WHERE n.status=1 AND n.type='stormtask' "; WHERE n.status=1 AND n.type='stormtask' ";
if (isset($_SESSION['stormtask_list_filter']['organization_nid']) && ($_SESSION['stormtask_list_filter']['organization_nid'] != 0)) { if (_storm_isset_filter_param('task', 'organization_nid', 0)) {
$where[] = 'sta.organization_nid=%d'; $where[] = 'sta.organization_nid=%d';
$args[] = $_SESSION['stormtask_list_filter']['organization_nid']; $args[] = $_SESSION['stormtask_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormtask_list_filter']['project_nid']) && ($_SESSION['stormtask_list_filter']['project_nid'] != 0)) { if (_storm_isset_filter_param('task', 'project_nid', 0)) {
$where[] = 'sta.project_nid=%d'; $where[] = 'sta.project_nid=%d';
$args[] = $_SESSION['stormtask_list_filter']['project_nid']; $args[] = $_SESSION['stormtask_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormtask_list_filter']['taskcategory']) && $_SESSION['stormtask_list_filter']['taskcategory'] != '-') {
$category_list = storm_attributes_bydomain('Task category search');
if (_storm_isset_filter_param('task', 'taskcategory', $category_list['default'], '-')) {
$category = split(',', $_SESSION['stormtask_list_filter']['taskcategory']); $category = split(',', $_SESSION['stormtask_list_filter']['taskcategory']);
$v = array(); $v = array();
foreach ($category as $item) $v[] = '%s'; foreach ($category as $item) $v[] = '%s';
@ -618,7 +620,8 @@ function stormtask_list() {
} }
$filterfields[] = t('Category'); $filterfields[] = t('Category');
} }
if (isset($_SESSION['stormtask_list_filter']['taskstatus']) && $_SESSION['stormtask_list_filter']['taskstatus'] != '-') { $status_list = storm_attributes_bydomain('Task status search');
if (_storm_isset_filter_param('task', 'taskstatus', $status_list['default'], '-')) {
$status = split(',', $_SESSION['stormtask_list_filter']['taskstatus']); $status = split(',', $_SESSION['stormtask_list_filter']['taskstatus']);
$v = array(); $v = array();
foreach ($status as $item) $v[] = '%s'; foreach ($status as $item) $v[] = '%s';
@ -628,7 +631,8 @@ function stormtask_list() {
} }
$filterfields[] = t('Status'); $filterfields[] = t('Status');
} }
if (isset($_SESSION['stormtask_list_filter']['taskpriority']) && $_SESSION['stormtask_list_filter']['taskpriority'] != '-') { $priority_list = storm_attributes_bydomain('Task priority search');
if (_storm_isset_filter_param('task', 'taskpriority', $priority_list['default'], '-')) {
$priority = split(',', $_SESSION['stormtask_list_filter']['taskpriority']); $priority = split(',', $_SESSION['stormtask_list_filter']['taskpriority']);
$v = array(); $v = array();
foreach ($priority as $item) $v[] = '%s'; foreach ($priority as $item) $v[] = '%s';
@ -639,7 +643,7 @@ function stormtask_list() {
$filterfields[] = t('Priority'); $filterfields[] = t('Priority');
} }
if (isset($_SESSION['stormtask_list_filter']['datebeginfrom'])) { if (_storm_isset_filter_param('task', 'datebeginfrom')) {
$datebeginfrom = $_SESSION['stormtask_list_filter']['datebeginfrom']; $datebeginfrom = $_SESSION['stormtask_list_filter']['datebeginfrom'];
$datebeginfrom['hour'] = 0; $datebeginfrom['hour'] = 0;
$datebeginfrom['minute'] = 0; $datebeginfrom['minute'] = 0;
@ -650,8 +654,7 @@ function stormtask_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('task', 'datebeginto')) {
if (isset($_SESSION['stormtask_list_filter']['datebeginto'])) {
$datebeginto = $_SESSION['stormtask_list_filter']['datebeginto']; $datebeginto = $_SESSION['stormtask_list_filter']['datebeginto'];
$datebeginto['hour'] = 23; $datebeginto['hour'] = 23;
$datebeginto['minute'] = 59; $datebeginto['minute'] = 59;
@ -662,8 +665,7 @@ function stormtask_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('task', 'dateendfrom')) {
if (isset($_SESSION['stormtask_list_filter']['dateendfrom'])) {
$dateendfrom = $_SESSION['stormtask_list_filter']['dateendfrom']; $dateendfrom = $_SESSION['stormtask_list_filter']['dateendfrom'];
$dateendfrom['hour'] = 0; $dateendfrom['hour'] = 0;
$dateendfrom['minute'] = 0; $dateendfrom['minute'] = 0;
@ -674,8 +676,7 @@ function stormtask_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('task', 'dateendto')) {
if (isset($_SESSION['stormtask_list_filter']['dateendto'])) {
$dateendto = $_SESSION['stormtask_list_filter']['dateendto']; $dateendto = $_SESSION['stormtask_list_filter']['dateendto'];
$dateendto['hour'] = 23; $dateendto['hour'] = 23;
$dateendto['minute'] = 59; $dateendto['minute'] = 59;
@ -687,7 +688,7 @@ function stormtask_list() {
} }
} }
if (isset($_SESSION['stormtask_list_filter']['assigned_to'])) { if (_storm_isset_filter_param('task', 'assigned_to')) {
if (!is_numeric($_SESSION['stormtask_list_filter']['assigned_to'])) { if (!is_numeric($_SESSION['stormtask_list_filter']['assigned_to'])) {
switch ($_SESSION['stormtask_list_filter']['assigned_to']) { switch ($_SESSION['stormtask_list_filter']['assigned_to']) {
@ -718,19 +719,18 @@ function stormtask_list() {
} }
} }
if (isset($_SESSION['stormtask_list_filter']['billable']) && $_SESSION['stormtask_list_filter']['billable'] != '-') { if (_storm_isset_filter_param('task', 'billable', '-')) {
$where[] = 'sta.billable=%d'; $where[] = 'sta.billable=%d';
$args[] = $_SESSION['stormtask_list_filter']['billable']; $args[] = $_SESSION['stormtask_list_filter']['billable'];
$filterfields[] = t('Billable'); $filterfields[] = t('Billable');
} }
if (_storm_isset_filter_param('task', 'billed', '-')) {
if (isset($_SESSION['stormtask_list_filter']['billed']) && $_SESSION['stormtask_list_filter']['billed'] != '-') {
$where[] = 'sta.billed=%d'; $where[] = 'sta.billed=%d';
$args[] = $_SESSION['stormtask_list_filter']['billed']; $args[] = $_SESSION['stormtask_list_filter']['billed'];
$filterfields[] = t('Billed'); $filterfields[] = t('Billed');
} }
$itemsperpage = isset($_SESSION['stormtask_list_filter']['itemsperpage']) ? $_SESSION['stormtask_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $itemsperpage = _storm_get_filter_param('task', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -759,30 +759,30 @@ function stormtask_list() {
} }
function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') { function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = _storm_get_filter_param('task', 'organization_nid', 0);
$project_nid = _storm_get_filter_param('task', 'project_nid', 0);
$category_list = storm_attributes_bydomain('Task category search'); $category_list = storm_attributes_bydomain('Task category search');
$taskcategory = isset($_SESSION['stormtask_list_filter']['taskcategory']) ? $_SESSION['stormtask_list_filter']['taskcategory'] : $taskcategory = $category_list['default']; $taskcategory = _storm_get_filter_param('task', 'taskcategory', $category_list['default']);
$_SESSION['stormtask_list_filter']['taskcategory'] = $taskcategory;
$status_list = storm_attributes_bydomain('Task status search'); $status_list = storm_attributes_bydomain('Task status search');
$taskstatus = isset($_SESSION['stormtask_list_filter']['taskstatus']) ? $_SESSION['stormtask_list_filter']['taskstatus'] : $status_list['default']; $taskstatus = _storm_get_filter_param('task', 'taskstatus', $status_list['default']);
$_SESSION['stormtask_list_filter']['taskstatus'] = $taskstatus;
$priority_list = storm_attributes_bydomain('Task priority search'); $priority_list = storm_attributes_bydomain('Task priority search');
$taskpriority = isset($_SESSION['stormtask_list_filter']['taskpriority']) ? $_SESSION['stormtask_list_filter']['taskpriority'] : $priority_list['default']; $taskpriority = _storm_get_filter_param('task', 'taskpriority', $priority_list['default']);
$_SESSION['stormtask_list_filter']['taskpriority'] = $taskpriority;
$organization_nid = isset($_SESSION['stormtask_list_filter']['organization_nid']) ? $_SESSION['stormtask_list_filter']['organization_nid'] : 0; $datebeginfrom = _storm_get_filter_param('task', 'datebeginfrom');
$project_nid = isset($_SESSION['stormtask_list_filter']['project_nid']) ? $_SESSION['stormtask_list_filter']['project_nid'] : 0; $datebeginto = _storm_get_filter_param('task', 'datebeginto');
$dateendfrom = _storm_get_filter_param('task', 'dateendfrom');
$dateendto = _storm_get_filter_param('task', 'dateendto');
$datebeginfrom = isset($_SESSION['stormtask_list_filter']['datebeginfrom']) ? $_SESSION['stormtask_list_filter']['datebeginfrom'] : NULL; $assigned_to = _storm_get_filter_param('task', 'assigned_to');
$datebeginto = isset($_SESSION['stormtask_list_filter']['datebeginto']) ? $_SESSION['stormtask_list_filter']['datebeginto'] : NULL;
$dateendfrom = isset($_SESSION['stormtask_list_filter']['dateendfrom']) ? $_SESSION['stormtask_list_filter']['dateendfrom'] : NULL;
$dateendto = isset($_SESSION['stormtask_list_filter']['dateendto']) ? $_SESSION['stormtask_list_filter']['dateendfrom'] : NULL;
$assigned_to = isset($_SESSION['stormtask_list_filter']['assigned_to']) ? $_SESSION['stormtask_list_filter']['assigned_to'] : NULL; $billable = _storm_get_filter_param('task', 'billable', '-');
$billed = _storm_get_filter_param('task', 'billed', '-');
$itemsperpage = _storm_get_filter_param('task', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormtask_list_filter']['itemsperpage']) ? $_SESSION['stormtask_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormtask_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();
@ -803,6 +803,7 @@ function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') {
$s = stormorganization_access_sql($s); $s = stormorganization_access_sql($s);
$s = db_rewrite_sql($s); $s = db_rewrite_sql($s);
$r = db_query($s); $r = db_query($s);
$organizations = array(); $organizations = array();
while ($organization = db_fetch_object($r)) { while ($organization = db_fetch_object($r)) {
$organizations[$organization->nid] = $organization->title; $organizations[$organization->nid] = $organization->title;
@ -916,14 +917,14 @@ function stormtask_list_filter(&$form_state, $filterdesc = 'Filter') {
'#type' => 'select', '#type' => 'select',
'#title' => t('Billable'), '#title' => t('Billable'),
'#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')),
'#default_value' => isset($_SESSION['stormtask_list_filter']['billable']) ? $_SESSION['stormtask_list_filter']['billable'] : '-', '#default_value' => $billable,
); );
$form['filter']['group4_1']['billed'] = array( $form['filter']['group4_1']['billed'] = array(
'#type' => 'select', '#type' => 'select',
'#title' => t('Billed'), '#title' => t('Billed'),
'#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')),
'#default_value' => isset($_SESSION['stormtask_list_filter']['billed']) ? $_SESSION['stormtask_list_filter']['billed'] : '-', '#default_value' => $billed,
); );
$form['filter']['group5'] = array( $form['filter']['group5'] = array(

View file

@ -493,16 +493,13 @@ function _stormteam_validate_predelete($node) {
* Function to display list of SuiteDesk Teams, called from hook_menu * Function to display list of SuiteDesk Teams, called from hook_menu
*/ */
function stormteam_list() { function stormteam_list() {
// Add SuiteDesk generic CSS
drupal_add_css(drupal_get_path('module', 'storm') .'/storm.css', 'module');
$breadcrumb = array(); $breadcrumb = array();
$breadcrumb[] = l(t('Home'), '<front>'); $breadcrumb[] = l(t('Home'), '<front>');
drupal_set_breadcrumb($breadcrumb); drupal_set_breadcrumb($breadcrumb);
if (array_key_exists('name', $_GET)) { if (array_key_exists('name', $_GET)) {
if ($_SESSION['stormteam_list_filter']['name'] != $_GET['name']) { if ($_SESSION['stormteam_list_filter']['name'] != $_GET['name']) {
$_SESSION['stormteam_list_filter']['name'] = $_GET['name']; _storm_set_filter_param('team', 'name', $_GET['name']);
} }
} }
@ -526,23 +523,23 @@ function stormteam_list() {
), ),
); );
$where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.nid, n.title, n.type, nre.teaser, nre.format, n.uid FROM {node} AS n $s = "SELECT n.nid, n.title, n.type, nre.teaser, nre.format, n.uid FROM {node} AS n
INNER JOIN {stormteam} AS ste ON n.vid = ste.vid INNER JOIN {stormteam} AS ste ON n.vid = ste.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
WHERE n.status=1 AND n.type='stormteam' WHERE n.status=1 AND n.type='stormteam'
GROUP BY n.nid"; GROUP BY n.nid";
$where = array(); if (_storm_isset_filter_param('team', 'name', '')) {
$args = array();
$filterfields = array();
if (isset($_SESSION['stormteam_list_filter']['name']) && $_SESSION['stormteam_list_filter']['name'] != '') {
$where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')"; $where[] = "LOWER(n.title) LIKE LOWER('%%%s%%')";
$args[] = $_SESSION['stormteam_list_filter']['name']; $args[] = $_SESSION['stormteam_list_filter']['name'];
$filterfields[] = t('Team name'); $filterfields[] = t('Team name');
} }
$itemsperpage = isset($_SESSION['stormteam_list_filter']['itemsperpage']) ? $_SESSION['stormteam_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $itemsperpage = _storm_get_filter_param('team', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -581,10 +578,10 @@ function stormteam_list() {
* Function to define form for setting SuiteDesk Team list filter. * Function to define form for setting SuiteDesk Team list filter.
*/ */
function stormteam_list_filter(&$form_state, $filterdesc = 'Filter') { function stormteam_list_filter(&$form_state, $filterdesc = 'Filter') {
$name = isset($_SESSION['stormteam_list_filter']['name']) ? $_SESSION['stormteam_list_filter']['name'] : ''; $name = _storm_get_filter_param('team', 'name', '');
$itemsperpage = _storm_get_filter_param('team', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$itemsperpage = isset($_SESSION['stormteam_list_filter']['itemsperpage']) ? $_SESSION['stormteam_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$_SESSION['stormteam_list_filter']['itemsperpage'] = $itemsperpage;
$form = array(); $form = array();

View file

@ -5,7 +5,6 @@
*/ */
function stormticket_list() { function stormticket_list() {
global $user; global $user;
$breadcrumb = array(); $breadcrumb = array();
@ -14,40 +13,41 @@ function stormticket_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormticket_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormticket_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormticket_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('ticket', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormticket_list_filter']['project_nid']); _storm_set_filter_param('ticket', 'project_nid');
unset($_SESSION['stormticket_list_filter']['task_nid']); _storm_set_filter_param('ticket', 'task_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormticket_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormticket_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormticket_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('ticket', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormticket_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('ticket', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormticket_list_filter']['task_nid']); _storm_set_filter_param('ticket', 'task_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormticket_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormticket_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormticket_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('ticket', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormticket_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('ticket', 'organization_nid', $t->organization_nid);
$_SESSION['stormticket_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('ticket', 'project_nid', $t->project_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
$_SESSION['stormticket_list_filter']['ticketcategory'] = '-'; _storm_set_filter_param('ticket', 'ticketcategory', '-');
$_SESSION['stormticket_list_filter']['ticketstatus'] = '-'; _storm_set_filter_param('ticket', 'ticketstatus', '-');
$_SESSION['stormticket_list_filter']['ticketpriority'] = '-'; _storm_set_filter_param('ticket', 'ticketpriority', '-');
unset($_SESSION['stormticket_list_filter']['datebeginfrom']); _storm_set_filter_param('ticket', 'datebeginfrom');
unset($_SESSION['stormticket_list_filter']['datebeginto']); _storm_set_filter_param('ticket', 'datebeginto');
unset($_SESSION['stormticket_list_filter']['dateendfrom']); _storm_set_filter_param('ticket', 'dateendfrom');
unset($_SESSION['stormticket_list_filter']['dateendto']); _storm_set_filter_param('ticket', 'dateendto');
unset($_SESSION['stormticket_list_filter']['assigned_to']);
$_SESSION['stormticket_list_filter']['billable'] = '-'; _storm_set_filter_param('ticket', 'assigned_to');
$_SESSION['stormticket_list_filter']['billed'] = '-';
_storm_set_filter_param('ticket', 'billable', '-');
_storm_set_filter_param('ticket', 'billed', '-');
} }
$i = new stdClass(); $i = new stdClass();
@ -99,28 +99,25 @@ function stormticket_list() {
LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid LEFT JOIN {node_comment_statistics} AS ncs ON n.nid = ncs.nid
WHERE n.status=1 AND n.type='stormticket' "; WHERE n.status=1 AND n.type='stormticket' ";
if (isset($_SESSION['stormticket_list_filter']['organization_nid']) && ($_SESSION['stormticket_list_filter']['organization_nid'] != 0)) { if (_storm_isset_filter_param('ticket', 'organization_nid', 0)) {
$where[] = 'sti.organization_nid=%d'; $where[] = 'sti.organization_nid=%d';
$args[] = $_SESSION['stormticket_list_filter']['organization_nid']; $args[] = $_SESSION['stormticket_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormticket_list_filter']['project_nid']) && ($_SESSION['stormticket_list_filter']['project_nid'] != 0)) { if (_storm_isset_filter_param('ticket', 'project_nid', 0)) {
$where[] = 'sti.project_nid=%d'; $where[] = 'sti.project_nid=%d';
$args[] = $_SESSION['stormticket_list_filter']['project_nid']; $args[] = $_SESSION['stormticket_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormticket_list_filter']['task_nid']) && ($_SESSION['stormticket_list_filter']['task_nid'] != 0)) { if (_storm_isset_filter_param('ticket', 'task_nid', 0)) {
$where[] = 'sti.task_nid=%d'; $where[] = 'sti.task_nid=%d';
$args[] = $_SESSION['stormticket_list_filter']['task_nid']; $args[] = $_SESSION['stormticket_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
$category_list = storm_attributes_bydomain('ticket category search'); $category_list = storm_attributes_bydomain('Ticket category search');
$ticketcategory = isset($_SESSION['stormticket_list_filter']['ticketcategory']) ? $_SESSION['stormticket_list_filter']['ticketcategory'] : $category_list['default']; if (_storm_isset_filter_param('ticket', 'ticketcategory', $category_list['default'], '-')) {
$_SESSION['stormticket_list_filter']['ticketcategory'] = $ticketcategory; $category = split(',', $_SESSION['stormticket_list_filter']['ticketcategory']);
if ($ticketcategory != '-') {
$category = split(',', $ticketcategory);
$v = array(); $v = array();
foreach ($category as $item) $v[] = '%s'; foreach ($category as $item) $v[] = '%s';
$where[] = "sti.ticketcategory IN ('". implode("','", $v) ."')"; $where[] = "sti.ticketcategory IN ('". implode("','", $v) ."')";
@ -129,13 +126,9 @@ function stormticket_list() {
} }
$filterfields[] = t('Category'); $filterfields[] = t('Category');
} }
$status_list = storm_attributes_bydomain('Ticket status search');
$status_list = storm_attributes_bydomain('ticket status search'); if (_storm_isset_filter_param('ticket', 'ticketstatus', $status_list['default'], '-')) {
$ticketstatus = isset($_SESSION['stormticket_list_filter']['ticketstatus']) ? $_SESSION['stormticket_list_filter']['ticketstatus'] : $status_list['default']; $status = split(',', $_SESSION['stormticket_list_filter']['ticketstatus']);
$_SESSION['stormticket_list_filter']['ticketstatus'] = $ticketstatus;
if ($ticketstatus != '-') {
$status = split(',', $ticketstatus);
$v = array(); $v = array();
foreach ($status as $item) $v[] = '%s'; foreach ($status as $item) $v[] = '%s';
$where[] = "sti.ticketstatus IN ('". implode("','", $v) ."')"; $where[] = "sti.ticketstatus IN ('". implode("','", $v) ."')";
@ -144,13 +137,9 @@ function stormticket_list() {
} }
$filterfields[] = t('Status'); $filterfields[] = t('Status');
} }
$priority_list = storm_attributes_bydomain('Ticket priority search');
$priority_list = storm_attributes_bydomain('ticket priority search'); if (_storm_isset_filter_param('ticket', 'ticketpriority', $priority_list['default'], '-')) {
$ticketpriority = isset($_SESSION['stormticket_list_filter']['ticketpriority']) ? $_SESSION['stormticket_list_filter']['ticketpriority'] : $priority_list['default']; $priority = split(',', $_SESSION['stormticket_list_filter']['ticketpriority']);
$_SESSION['stormticket_list_filter']['ticketpriority'] = $ticketpriority;
if ($ticketpriority != '-') {
$priority = split(',', $ticketpriority);
$v = array(); $v = array();
foreach ($priority as $item) $v[] = '%s'; foreach ($priority as $item) $v[] = '%s';
$where[] = "sti.ticketpriority IN ('". implode("','", $v) ."')"; $where[] = "sti.ticketpriority IN ('". implode("','", $v) ."')";
@ -160,7 +149,7 @@ function stormticket_list() {
$filterfields[] = t('Priority'); $filterfields[] = t('Priority');
} }
if (isset($_SESSION['stormticket_list_filter']['datebeginfrom'])) { if (_storm_isset_filter_param('ticket', 'datebeginfrom')) {
$datebeginfrom = $_SESSION['stormticket_list_filter']['datebeginfrom']; $datebeginfrom = $_SESSION['stormticket_list_filter']['datebeginfrom'];
$datebeginfrom['hour'] = 0; $datebeginfrom['hour'] = 0;
$datebeginfrom['minute'] = 0; $datebeginfrom['minute'] = 0;
@ -171,8 +160,7 @@ function stormticket_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('ticket', 'datebeginto')) {
if (isset($_SESSION['stormticket_list_filter']['datebeginto'])) {
$datebeginto = $_SESSION['stormticket_list_filter']['datebeginto']; $datebeginto = $_SESSION['stormticket_list_filter']['datebeginto'];
$datebeginto['hour'] = 23; $datebeginto['hour'] = 23;
$datebeginto['minute'] = 59; $datebeginto['minute'] = 59;
@ -183,8 +171,7 @@ function stormticket_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('ticket', 'dateendfrom')) {
if (isset($_SESSION['stormticket_list_filter']['dateendfrom'])) {
$dateendfrom = $_SESSION['stormticket_list_filter']['dateendfrom']; $dateendfrom = $_SESSION['stormticket_list_filter']['dateendfrom'];
$dateendfrom['hour'] = 0; $dateendfrom['hour'] = 0;
$dateendfrom['minute'] = 0; $dateendfrom['minute'] = 0;
@ -195,8 +182,7 @@ function stormticket_list() {
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
} }
if (_storm_isset_filter_param('ticket', 'dateendto')) {
if (isset($_SESSION['stormticket_list_filter']['dateendto'])) {
$dateendto = $_SESSION['stormticket_list_filter']['dateendto']; $dateendto = $_SESSION['stormticket_list_filter']['dateendto'];
$dateendto['hour'] = 23; $dateendto['hour'] = 23;
$dateendto['minute'] = 59; $dateendto['minute'] = 59;
@ -208,21 +194,25 @@ function stormticket_list() {
} }
} }
if (isset($_SESSION['stormticket_list_filter']['assigned_to'])) { if (_storm_isset_filter_param('ticket', 'assigned_to')) {
if (!is_numeric($_SESSION['stormticket_list_filter']['assigned_to'])) { if (!is_numeric($_SESSION['stormticket_list_filter']['assigned_to'])) {
switch ($_SESSION['stormticket_list_filter']['assigned_to']) { switch ($_SESSION['stormticket_list_filter']['assigned_to']) {
case 'all': case 'all':
// NO FILTER // NO FILTER
break; break;
case 'mine': case 'mine':
// CURRENT USER // CURRENT USER
if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) { if (!empty($user->stormperson_nid) && is_numeric($user->stormperson_nid)) {
$assigned_to_nid = $user->stormperson_nid; $assigned_to_nid = $user->stormperson_nid;
} }
break; break;
case 'none': case 'none':
$where[] = '(sti.assigned_nid IS NULL OR sti.assigned_nid = 0) '; $where[] = '(sti.assigned_nid IS NULL OR sti.assigned_nid = 0) ';
break; break;
} }
} }
else { else {
@ -235,20 +225,18 @@ function stormticket_list() {
} }
} }
if (isset($_SESSION['stormticket_list_filter']['billable']) && $_SESSION['stormticket_list_filter']['billable'] != '-') { if (_storm_isset_filter_param('ticket', 'billable', '-')) {
$where[] = 'sti.billable=%d'; $where[] = 'sti.billable=%d';
$args[] = $_SESSION['stormticket_list_filter']['billable']; $args[] = $_SESSION['stormticket_list_filter']['billable'];
$filterfields[] = t('Billable'); $filterfields[] = t('Billable');
} }
if (_storm_isset_filter_param('ticket', 'billed', '-')) {
if (isset($_SESSION['stormticket_list_filter']['billed']) && $_SESSION['stormticket_list_filter']['billed'] != '-') {
$where[] = 'sti.billed=%d'; $where[] = 'sti.billed=%d';
$args[] = $_SESSION['stormticket_list_filter']['billed']; $args[] = $_SESSION['stormticket_list_filter']['billed'];
$filterfields[] = t('Billed'); $filterfields[] = t('Billed');
} }
$itemsperpage = isset($_SESSION['stormticket_list_filter']['itemsperpage']) ? $_SESSION['stormticket_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $itemsperpage = _storm_get_filter_param('ticket', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$_SESSION['stormticket_list_filter']['itemsperpage'] = $itemsperpage;
if (count($filterfields)==0) { if (count($filterfields)==0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
@ -277,28 +265,31 @@ function stormticket_list() {
} }
function stormticket_list_filter(&$form_state, $filterdesc='Filter') { function stormticket_list_filter(&$form_state, $filterdesc='Filter') {
$organization_nid = isset($_SESSION['stormticket_list_filter']['organization_nid']) ? $_SESSION['stormticket_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('ticket', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormticket_list_filter']['project_nid']) ? $_SESSION['stormticket_list_filter']['project_nid'] : 0; $project_nid = _storm_get_filter_param('ticket', 'project_nid', 0);
$task_nid = isset($_SESSION['stormticket_list_filter']['task_nid']) ? $_SESSION['stormticket_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('ticket', 'task_nid', 0);
$category_list = storm_attributes_bydomain('ticket category search'); $category_list = storm_attributes_bydomain('Ticket category search');
$ticketcategory = isset($_SESSION['stormticket_list_filter']['ticketcategory']) ? $_SESSION['stormticket_list_filter']['ticketcategory'] : $category_list['default']; $ticketcategory = _storm_get_filter_param('ticket', 'ticketcategory', $category_list['default']);
$status_list = storm_attributes_bydomain('ticket status search'); $status_list = storm_attributes_bydomain('Ticket status search');
$ticketstatus = isset($_SESSION['stormticket_list_filter']['ticketstatus']) ? $_SESSION['stormticket_list_filter']['ticketstatus'] : $status_list['default']; $ticketstatus = _storm_get_filter_param('ticket', 'ticketstatus', $status_list['default']);
$priority_list = storm_attributes_bydomain('ticket priority search'); $priority_list = storm_attributes_bydomain('Ticket priority search');
$ticketpriority = isset($_SESSION['stormticket_list_filter']['ticketpriority']) ? $_SESSION['stormticket_list_filter']['ticketpriority'] : $priority_list['default']; $ticketpriority = _storm_get_filter_param('ticket', 'ticketpriority', $priority_list['default']);
$itemsperpage = isset($_SESSION['stormticket_list_filter']['itemsperpage']) ? $_SESSION['stormticket_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); $datebeginfrom = _storm_get_filter_param('ticket', 'datebeginfrom');
$_SESSION['stormticket_list_filter']['itemsperpage'] = $itemsperpage; $datebeginto = _storm_get_filter_param('ticket', 'datebeginto');
$dateendfrom = _storm_get_filter_param('ticket', 'dateendfrom');
$dateendto = _storm_get_filter_param('ticket', 'dateendto');
$datebeginfrom = isset($_SESSION['stormticket_list_filter']['datebeginfrom']) ? $_SESSION['stormticket_list_filter']['datebeginfrom'] : NULL; $assigned_to = _storm_get_filter_param('ticket', 'assigned_to');
$datebeginto = isset($_SESSION['stormticket_list_filter']['datebeginto']) ? $_SESSION['stormticket_list_filter']['datebeginto'] : NULL;
$dateendfrom = isset($_SESSION['stormticket_list_filter']['dateendfrom']) ? $_SESSION['stormticket_list_filter']['dateendfrom'] : NULL; $billable = _storm_get_filter_param('ticket', 'billable', '-');
$dateendto = isset($_SESSION['stormticket_list_filter']['dateendto']) ? $_SESSION['stormticket_list_filter']['dateendto'] : NULL; $billed = _storm_get_filter_param('ticket', 'billed', '-');
$itemsperpage = _storm_get_filter_param('ticket', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$assigned_to = isset($_SESSION['stormticket_list_filter']['assigned_to']) ? $_SESSION['stormticket_list_filter']['assigned_to'] : NULL;
$form = array(); $form = array();
@ -450,14 +441,14 @@ function stormticket_list_filter(&$form_state, $filterdesc='Filter') {
'#type' => 'select', '#type' => 'select',
'#title' => t('Billable'), '#title' => t('Billable'),
'#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')), '#options' => array('-' => t('all'), '1' => t('billable'), '0' => t('not billable')),
'#default_value' => isset($_SESSION['stormticket_list_filter']['billable']) ? $_SESSION['stormticket_list_filter']['billable'] : '-', '#default_value' => $billable,
); );
$form['filter']['group4_1']['billed'] = array( $form['filter']['group4_1']['billed'] = array(
'#type' => 'select', '#type' => 'select',
'#title' => t('Billed'), '#title' => t('Billed'),
'#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')), '#options' => array('-' => t('all'), '1' => t('billed'), '0' => t('not billed')),
'#default_value' => isset($_SESSION['stormticket_list_filter']['billed']) ? $_SESSION['stormticket_list_filter']['billed'] : '-', '#default_value' => $billed,
); );
$form['filter']['group5'] = array( $form['filter']['group5'] = array(

View file

@ -11,46 +11,47 @@ function stormtimetracking_list() {
if (array_key_exists('organization_nid', $_GET)) { if (array_key_exists('organization_nid', $_GET)) {
if ($_SESSION['stormtimetracking_list_filter']['organization_nid'] != $_GET['organization_nid']) { if ($_SESSION['stormtimetracking_list_filter']['organization_nid'] != $_GET['organization_nid']) {
$_SESSION['stormtimetracking_list_filter']['organization_nid'] = $_GET['organization_nid']; _storm_set_filter_param('timetracking', 'organization_nid', $_GET['organization_nid']);
} }
unset($_SESSION['stormtimetracking_list_filter']['project_nid']); _storm_set_filter_param('timetracking', 'project_nid');
unset($_SESSION['stormtimetracking_list_filter']['task_nid']); _storm_set_filter_param('timetracking', 'task_nid');
unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); _storm_set_filter_param('timetracking', 'ticket_nid');
} }
if (array_key_exists('project_nid', $_GET)) { if (array_key_exists('project_nid', $_GET)) {
if ($_SESSION['stormtimetracking_list_filter']['project_nid'] != $_GET['project_nid']) { if ($_SESSION['stormtimetracking_list_filter']['project_nid'] != $_GET['project_nid']) {
$_SESSION['stormtimetracking_list_filter']['project_nid'] = $_GET['project_nid']; _storm_set_filter_param('timetracking', 'project_nid', $_GET['project_nid']);
} }
$p = node_load($_GET['project_nid']); $p = node_load($_GET['project_nid']);
$_SESSION['stormtimetracking_list_filter']['organization_nid'] = $p->organization_nid; _storm_set_filter_param('timetracking', 'organization_nid', $p->organization_nid);
unset($_SESSION['stormtimetracking_list_filter']['task_nid']); _storm_set_filter_param('timetracking', 'task_nid');
unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); _storm_set_filter_param('timetracking', 'ticket_nid');
} }
if (array_key_exists('task_nid', $_GET)) { if (array_key_exists('task_nid', $_GET)) {
if ($_SESSION['stormtimetracking_list_filter']['task_nid'] != $_GET['task_nid']) { if ($_SESSION['stormtimetracking_list_filter']['task_nid'] != $_GET['task_nid']) {
$_SESSION['stormtimetracking_list_filter']['task_nid'] = $_GET['task_nid']; _storm_set_filter_param('timetracking', 'task_nid', $_GET['task_nid']);
} }
$t = node_load($_GET['task_nid']); $t = node_load($_GET['task_nid']);
$_SESSION['stormtimetracking_list_filter']['organization_nid'] = $t->organization_nid; _storm_set_filter_param('timetracking', 'organization_nid', $t->organization_nid);
$_SESSION['stormtimetracking_list_filter']['project_nid'] = $t->project_nid; _storm_set_filter_param('timetracking', 'project_nid', $t->project_nid);
unset($_SESSION['stormtimetracking_list_filter']['ticket_nid']); _storm_set_filter_param('timetracking', 'ticket_nid');
} }
if (array_key_exists('ticket_nid', $_GET)) { if (array_key_exists('ticket_nid', $_GET)) {
if ($_SESSION['stormtimetracking_list_filter']['ticket_nid'] != $_GET['ticket_nid']) { if ($_SESSION['stormtimetracking_list_filter']['ticket_nid'] != $_GET['ticket_nid']) {
$_SESSION['stormtimetracking_list_filter']['ticket_nid'] = $_GET['ticket_nid']; _storm_set_filter_param('timetracking', 'ticket_nid', $_GET['ticket_nid']);
} }
$ti = node_load($_GET['ticket_nid']); $ti = node_load($_GET['ticket_nid']);
$_SESSION['stormtimetracking_list_filter']['organization_nid'] = $ti->organization_nid; _storm_set_filter_param('timetracking', 'organization_nid', $ti->organization_nid);
$_SESSION['stormtimetracking_list_filter']['project_nid'] = $ti->project_nid; _storm_set_filter_param('timetracking', 'project_nid', $ti->project_nid);
$_SESSION['stormtimetracking_list_filter']['task_nid'] = $ti->task_nid; _storm_set_filter_param('timetracking', 'task_nid', $ti->task_nid);
} }
if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') { if (array_key_exists('view', $_GET) && $_GET['view'] == 'all') {
unset($_SESSION['stormtimetracking_list_filter']['datefrom']); _storm_set_filter_param('timetracking', 'datefrom');
unset($_SESSION['stormtimetracking_list_filter']['dateto']); _storm_set_filter_param('timetracking', 'dateto');
$_SESSION['stormtimetracking_list_filter']['user'] = ''; _storm_set_filter_param('timetracking', 'user', '');
$_SESSION['stormtimetracking_list_filter']['billable'] = '-';
$_SESSION['stormtimetracking_list_filter']['billed'] = '-'; _storm_set_filter_param('timetracking', 'billable', '-');
_storm_set_filter_param('timetracking', 'billed', '-');
} }
$i = new stdClass(); $i = new stdClass();
@ -80,6 +81,10 @@ function stormtimetracking_list() {
), ),
); );
$where = array();
$args = array();
$filterfields = array();
$s = "SELECT n.*, stt.*, nre.format FROM {node} n $s = "SELECT n.*, stt.*, nre.format FROM {node} n
INNER JOIN {stormtimetracking} stt ON n.vid=stt.vid INNER JOIN {stormtimetracking} stt ON n.vid=stt.vid
INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid INNER JOIN {node_revisions} AS nre ON n.vid = nre.vid
@ -87,31 +92,28 @@ function stormtimetracking_list() {
$s_duration = "SELECT SUM(billing_duration) FROM {stormtimetracking} stt INNER JOIN {node} n ON n.vid=stt.vid WHERE n.status=1 AND n.type='stormtimetracking' "; $s_duration = "SELECT SUM(billing_duration) FROM {stormtimetracking} stt INNER JOIN {node} n ON n.vid=stt.vid WHERE n.status=1 AND n.type='stormtimetracking' ";
$where = array(); if (_storm_isset_filter_param('timetracking', 'organization_nid', 0)) {
$args = array();
$filterfields = array();
if (isset($_SESSION['stormtimetracking_list_filter']['organization_nid']) && $_SESSION['stormtimetracking_list_filter']['organization_nid'] != 0) {
$where[] = 'stt.organization_nid=%d'; $where[] = 'stt.organization_nid=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['organization_nid']; $args[] = $_SESSION['stormtimetracking_list_filter']['organization_nid'];
$filterfields[] = t('Organization'); $filterfields[] = t('Organization');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['project_nid']) && $_SESSION['stormtimetracking_list_filter']['project_nid'] != 0) { if (_storm_isset_filter_param('timetracking', 'project_nid', 0)) {
$where[] = 'stt.project_nid=%d'; $where[] = 'stt.project_nid=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['project_nid']; $args[] = $_SESSION['stormtimetracking_list_filter']['project_nid'];
$filterfields[] = t('Project'); $filterfields[] = t('Project');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['task_nid']) && $_SESSION['stormtimetracking_list_filter']['task_nid'] != 0) { if (_storm_isset_filter_param('timetracking', 'task_nid', 0)) {
$where[] = 'stt.task_nid=%d'; $where[] = 'stt.task_nid=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['task_nid']; $args[] = $_SESSION['stormtimetracking_list_filter']['task_nid'];
$filterfields[] = t('Task'); $filterfields[] = t('Task');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['ticket_nid']) && $_SESSION['stormtimetracking_list_filter']['ticket_nid'] != 0) { if (_storm_isset_filter_param('timetracking', 'ticket_nid', 0)) {
$where[] = 'stt.ticket_nid=%d'; $where[] = 'stt.ticket_nid=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['ticket_nid']; $args[] = $_SESSION['stormtimetracking_list_filter']['ticket_nid'];
$filterfields[] = t('Ticket'); $filterfields[] = t('Ticket');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['datefrom']) && $_SESSION['stormtimetracking_list_filter']['datefrom']['day'] != -1) {
if (_storm_isset_filter_param('timetracking', 'datefrom', NULL, -1)) {
$datefrom = $_SESSION['stormtimetracking_list_filter']['datefrom']; $datefrom = $_SESSION['stormtimetracking_list_filter']['datefrom'];
$datefrom['hour'] = 0; $datefrom['hour'] = 0;
$datefrom['minute'] = 0; $datefrom['minute'] = 0;
@ -119,7 +121,7 @@ function stormtimetracking_list() {
$args[] = _storm_datetime_to_gmtimestamp($datefrom); $args[] = _storm_datetime_to_gmtimestamp($datefrom);
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['dateto']) && $_SESSION['stormtimetracking_list_filter']['dateto']['day'] != -1) { if (_storm_isset_filter_param('timetracking', 'dateto', NULL, -1)) {
$dateto = $_SESSION['stormtimetracking_list_filter']['dateto']; $dateto = $_SESSION['stormtimetracking_list_filter']['dateto'];
$dateto['hour'] = 23; $dateto['hour'] = 23;
$dateto['minute'] = 59; $dateto['minute'] = 59;
@ -127,20 +129,8 @@ function stormtimetracking_list() {
$args[] = _storm_datetime_to_gmtimestamp($dateto); $args[] = _storm_datetime_to_gmtimestamp($dateto);
$filterfields[] = t('Date'); $filterfields[] = t('Date');
} }
if (isset($_SESSION['stormtimetracking_list_filter']['billable']) && $_SESSION['stormtimetracking_list_filter']['billable'] != '-') {
$where[] = 'stt.billable=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['billable'];
$filterfields[] = t('Billable');
}
if (isset($_SESSION['stormtimetracking_list_filter']['billed']) && $_SESSION['stormtimetracking_list_filter']['billed'] != '-') {
$where[] = 'stt.billed=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['billed'];
$filterfields[] = t('Billed');
}
$itemsperpage = isset($_SESSION['stormtimetracking_list_filter']['itemsperpage']) ? $_SESSION['stormtimetracking_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10); if (_storm_isset_filter_param('timetracking', 'user', '')) {
if (isset($_SESSION['stormtimetracking_list_filter']['user']) && $_SESSION['stormtimetracking_list_filter']['user'] != '') {
$trackinguser = user_load(array('name' => $_SESSION['stormtimetracking_list_filter']['user'])); $trackinguser = user_load(array('name' => $_SESSION['stormtimetracking_list_filter']['user']));
if ($trackinguser === FALSE) $trackinguser->uid = -1; if ($trackinguser === FALSE) $trackinguser->uid = -1;
$where[] = 'n.uid=%d'; $where[] = 'n.uid=%d';
@ -148,6 +138,19 @@ function stormtimetracking_list() {
$filterfields[] = t('User'); $filterfields[] = t('User');
} }
if (_storm_isset_filter_param('timetracking', 'billable', '-')) {
$where[] = 'stt.billable=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['billable'];
$filterfields[] = t('Billable');
}
if (_storm_isset_filter_param('timetracking', 'billed', '-')) {
$where[] = 'stt.billed=%d';
$args[] = $_SESSION['stormtimetracking_list_filter']['billed'];
$filterfields[] = t('Billed');
}
$itemsperpage = _storm_get_filter_param('timetracking', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
if (count($filterfields) == 0) { if (count($filterfields) == 0) {
$filterdesc = t('Not filtered'); $filterdesc = t('Not filtered');
} }
@ -183,18 +186,21 @@ function stormtimetracking_list() {
} }
function stormtimetracking_list_filter(&$form_state, $filterdesc = 'Filter') { function stormtimetracking_list_filter(&$form_state, $filterdesc = 'Filter') {
$organization_nid = isset($_SESSION['stormtimetracking_list_filter']['organization_nid']) ? $_SESSION['stormtimetracking_list_filter']['organization_nid'] : 0; $organization_nid = _storm_get_filter_param('timetracking', 'organization_nid', 0);
$project_nid = isset($_SESSION['stormtimetracking_list_filter']['project_nid']) ? $_SESSION['stormtimetracking_list_filter']['project_nid'] : 0 ; $project_nid = _storm_get_filter_param('timetracking', 'project_nid', 0);
$task_nid = isset($_SESSION['stormtimetracking_list_filter']['task_nid']) ? $_SESSION['stormtimetracking_list_filter']['task_nid'] : 0; $task_nid = _storm_get_filter_param('timetracking', 'task_nid', 0);
$ticket_nid = isset($_SESSION['stormtimetracking_list_filter']['ticket_nid']) ? $_SESSION['stormtimetracking_list_filter']['ticket_nid'] : 0; $ticket_nid = _storm_get_filter_param('timetracking', 'ticket_nid', 0);
$itemsperpage = isset($_SESSION['stormtimetracking_list_filter']['itemsperpage']) ? $_SESSION['stormtimetracking_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
$datefrom = isset($_SESSION['stormtimetracking_list_filter']['datefrom']) ? $_SESSION['stormtimetracking_list_filter']['datefrom'] : NULL; $datefrom = _storm_get_filter_param('timetracking', 'datefrom');
$dateto = isset($_SESSION['stormtimetracking_list_filter']['dateto']) ? $_SESSION['stormtimetracking_list_filter']['dateto'] : NULL ; $dateto = _storm_get_filter_param('timetracking', 'dateto');
$trackinguser = _storm_get_filter_param('timetracking', 'user', '');
$billable = _storm_get_filter_param('timetracking', 'billable', '-');
$billed = _storm_get_filter_param('timetracking', 'billed', '-');
$itemsperpage = _storm_get_filter_param('timetracking', 'itemsperpage', variable_get('storm_default_items_per_page', 10));
$trackinguser = isset($_SESSION['stormtimetracking_list_filter']['user']) ? $_SESSION['stormtimetracking_list_filter']['user'] : '';
$billable = isset($_SESSION['stormtimetracking_list_filter']['billable']) ? $_SESSION['stormtimetracking_list_filter']['billable'] : '-';
$billed = isset($_SESSION['stormtimetracking_list_filter']['billed']) ? $_SESSION['stormtimetracking_list_filter']['billed'] : '-';
$form = array(); $form = array();