Merge pull request #15365 from samuelsov/userdashboard
[civicrm-core.git] / CRM / Activity / Page / UserDashboard.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 5 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2019 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28 /**
29 *
30 * @package CRM
31 * @copyright CiviCRM LLC (c) 2004-2019
32 */
33
34 /**
35 * This class is for building event(participation) block on user dashboard.
36 */
37 class CRM_Activity_Page_UserDashboard extends CRM_Contact_Page_View_UserDashBoard {
38
39 /**
40 * List participations for the UF user.
41 *
42 * @return bool
43 */
44 public function listActivities() {
45
46 $controller
47 = new CRM_Core_Controller_Simple(
48 'CRM_Activity_Form_Search', ts('Activities'),
49 NULL,
50 FALSE, FALSE, TRUE, FALSE
51 );
52 $controller->setEmbedded(TRUE);
53 $controller->reset();
54 $controller->set('context', 'user');
55 $controller->set('cid', $this->_contactId);
56 // Limit to status "Scheduled" and "Available"
57 $controller->set('status', ['IN' => [1, 7]]);
58 $controller->set('activity_role', 2);
59 $controller->set('force', 1);
60 $controller->process();
61 $controller->run();
62
63 return FALSE;
64 }
65
66 /**
67 * The main function that is called when the page loads.
68 *
69 * It decides the which action has to be taken for the page.
70 */
71 public function run() {
72 parent::preProcess();
73 $this->listActivities();
74 }
75
76 }