. */ require_once 'Widget.class.php'; require_once $gfcommon.'include/utils.php'; require_once $gfwww.'include/html.php'; require_once $gfcommon.'tracker/ArtifactTypeFactory.class.php'; require_once $gfcommon.'tracker/ArtifactsForUser.class.php'; require_once $gfcommon.'tracker/Artifact.class.php'; require_once $gfcommon.'tracker/ArtifactFile.class.php'; require_once $gfcommon.'tracker/ArtifactType.class.php'; require_once $gfcommon.'tracker/ArtifactCanned.class.php'; /** * Widget_MyArtifacts * * Artifact assigned to or submitted by or monitored by this person */ class Widget_MyArtifacts extends Widget { var $_artifact_show; function __construct() { $this->Widget('myartifacts'); $this->_artifact_show = UserManager::instance()->getCurrentUser()->getPreference('my_artifacts_show'); if($this->_artifact_show === false) { $this->_artifact_show = 'ASM'; UserManager::instance()->getCurrentUser()->setPreference('my_artifacts_show', $this->_artifact_show); } } function getTitle() { return _("My Artifacts"); } function updatePreferences(&$request) { $request->valid(new Valid_String('cancel')); $vShow = new Valid_WhiteList('show', array('A', 'S', 'M', 'N', 'AS', 'AM', 'SM', 'ASM')); $vShow->required(); if (!$request->exist('cancel')) { if ($request->valid($vShow)) { switch($request->get('show')) { case 'A': $this->_artifact_show = 'A'; break; case 'S': $this->_artifact_show = 'S'; break; case 'M': $this->_artifact_show = 'M'; break; case 'N': $this->_artifact_show = 'N'; break; case 'AS': $this->_artifact_show = 'AS'; break; case 'AM': $this->_artifact_show = 'AM'; break; case 'SM': $this->_artifact_show = 'SM'; break; case 'ASM': default: $this->_artifact_show = 'ASM'; } UserManager::instance()->getCurrentUser()->setPreference('my_artifacts_show', $this->_artifact_show); } } return true; } function hasPreferences() { return true; } function getPreferences() { $optionsArray = array('A','S','M','AS','AM','SM', 'ASM'); $textsArray = array(); $textsArray[] = _('assigned to me'.' [A]'); $textsArray[] = _('submitted by me'.' [S]'); $textsArray[] = _('monitored by me'.' [M]'); $textsArray[] = _('assigned to or submitted by me'.' [AS]'); $textsArray[] = _('assigned to or monitored by me'.' [AM]'); $textsArray[] = _('submitted by or monitored by me'.' [SM]'); $textsArray[] = _('assigned to or submitted by or monitored by me'.' [ASM]'); $prefs = _("Display artifacts:").html_build_select_box_from_arrays($optionsArray, $textsArray, "show", $this->_artifact_show); return $prefs; } function getContent() { $atf = new ArtifactsForUser(@UserManager::instance()->getCurrentUser()); $my_artifacts = array(); if ($this->_artifact_show == 'ASM'){ $my_artifacts = $atf->getArtifactsFromSQLWithParams('SELECT * FROM artifact_vw av where (av.submitted_by=$1 OR av.assigned_to=$1 OR av.artifact_id IN (select artifact_monitor.artifact_id FROM artifact_monitor WHERE artifact_monitor.user_id = $1)) AND av.status_id=1 ORDER BY av.group_artifact_id, av.artifact_id DESC',array( UserManager::instance()->getCurrentUser()->getID())); } if ($this->_artifact_show == 'AS'){ $my_artifacts = $atf->getArtifactsFromSQLWithParams('SELECT * FROM artifact_vw av where (av.submitted_by=$1 OR av.assigned_to=$1) AND av.status_id=1 ORDER BY av.group_artifact_id, av.artifact_id DESC',array( UserManager::instance()->getCurrentUser()->getID())); } if ($this->_artifact_show == 'AM'){ $my_artifacts = $atf->getArtifactsFromSQLWithParams('SELECT * FROM artifact_vw av where (av.assigned_to=$1 OR av.artifact_id IN (select artifact_monitor.artifact_id FROM artifact_monitor WHERE artifact_monitor.user_id = $1)) AND av.status_id=1 ORDER BY av.group_artifact_id, av.artifact_id DESC',array( UserManager::instance()->getCurrentUser()->getID())); } if ($this->_artifact_show == 'SM'){ $my_artifacts = $atf->getArtifactsFromSQLWithParams('SELECT * FROM artifact_vw av where (av.submitted_by=$1 OR av.artifact_id IN (select artifact_monitor.artifact_id FROM artifact_monitor WHERE artifact_monitor.user_id = $1)) AND av.status_id=1 ORDER BY av.group_artifact_id, av.artifact_id DESC',array( UserManager::instance()->getCurrentUser()->getID())); } if ($this->_artifact_show== 'S') { $my_artifacts = $atf->getSubmittedArtifactsByGroup(); } if ($this->_artifact_show== 'A') { $my_artifacts = $atf->getAssignedArtifactsByGroup(); } if ($this->_artifact_show== 'M') { $my_artifacts = $atf->getArtifactsFromSQLWithParams('SELECT * FROM artifact_vw av where (av.artifact_id IN (select artifact_monitor.artifact_id FROM artifact_monitor WHERE artifact_monitor.user_id = $1)) AND av.status_id=1 ORDER BY av.group_artifact_id, av.artifact_id DESC',array( UserManager::instance()->getCurrentUser()->getID()));; } if (count($my_artifacts) > 0) { $html_my_artifacts = '