Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6547 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 6547 Rev 7134
Línea 11... Línea 11...
11
use LeadersLinked\Model\MyCoachCategory;
11
use LeadersLinked\Model\MyCoachCategory;
12
use LeadersLinked\Mapper\MyCoachQuestionMapper;
12
use LeadersLinked\Mapper\MyCoachQuestionMapper;
13
use LeadersLinked\Mapper\MyCoachQuestionCategoryMapper;
13
use LeadersLinked\Mapper\MyCoachQuestionCategoryMapper;
14
use LeadersLinked\Model\MyCoachCategoryUser;
14
use LeadersLinked\Model\MyCoachCategoryUser;
15
use LeadersLinked\Mapper\MyCoachAnswerMapper;
15
use LeadersLinked\Mapper\MyCoachAnswerMapper;
-
 
16
use LeadersLinked\Mapper\MyCoachCategoryJobDescriptionMapper;
-
 
17
use LeadersLinked\Mapper\OrganizationPositionMapper;
Línea 16... Línea 18...
16
 
18
 
17
class MyCoachAccessControl
19
class MyCoachAccessControl
Línea 18... Línea 20...
18
{
20
{
Línea 51... Línea 53...
51
        }
53
        }
52
        return self::$_instance;
54
        return self::$_instance;
53
    }
55
    }
Línea 54... Línea 56...
54
    
56
    
-
 
57
    /**
-
 
58
     * 
-
 
59
     * @param int $user_id
-
 
60
     * @return array
-
 
61
     */
-
 
62
    private function getCategoryIdsWithAccessJobDescription($user_id)
-
 
63
    {
-
 
64
        $category_ids = [];
-
 
65
        $job_description_ids = [];
-
 
66
        $organizationPositionMapper = OrganizationPositionMapper::getInstance($this->adapter);
-
 
67
        $records = $organizationPositionMapper->fetchAllByEmployeeId($user_id);
-
 
68
        foreach($records as $record)
-
 
69
        {
-
 
70
            array_push($job_description_ids, $record->job_description_id);
-
 
71
        }
-
 
72
        
-
 
73
        $myCoachCategoryJobDescriptionMapper = MyCoachCategoryJobDescriptionMapper::getInstance($this->adapter);
-
 
74
        $records = $myCoachCategoryJobDescriptionMapper->fetchAllByJobDescriptionIds($job_description_ids);
-
 
75
        foreach ($records as $record)
-
 
76
        {
-
 
77
            
-
 
78
            if(!in_array($record->category_id, $category_ids)) {
-
 
79
                array_push($category_ids, $record->category_id);
-
 
80
            }
-
 
81
        }
-
 
82
        
-
 
83
        return $category_ids;
-
 
84
        
-
 
85
    }
-
 
86
    
55
    /**
87
    /**
56
     *
88
     *
57
     * @param int $user_id
89
     * @param int $user_id
58
     * @param int $network_id
90
     * @param int $network_id
59
     * @return int[]
91
     * @return int[]
60
     */
92
     */
61
    public function getCategoryIdsWithAccess($user_id, $network_id)
93
    public function getCategoryIdsWithAccess($user_id, $network_id)
62
    {
94
    {
-
 
95
        $category_filter_ids = $this->getCategoryIdsWithAccessJobDescription($user_id);
Línea 63... Línea 96...
63
        $category_ids = [];
96
        
Línea -... Línea 97...
-
 
97
        
-
 
98
        $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
99
        
-
 
100
        if($category_filter_ids) {
-
 
101
            $selectJobDescription = $queryMapper->getSql()->select();
-
 
102
            $selectJobDescription->columns(['id']);
-
 
103
            $selectJobDescription->from(['c' => MyCoachCategoryMapper::_TABLE]);
-
 
104
            $selectJobDescription->where->equalTo('c.network_id', $network_id);
-
 
105
            $selectJobDescription->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
-
 
106
            $selectJobDescription->where->in('id', $category_filter_ids);
-
 
107
        } else {
-
 
108
            $selectJobDescription = null;
-
 
109
        }
-
 
110
        
-
 
111
        
Línea 64... Línea 112...
64
        
112
        
65
        $queryMapper = QueryMapper::getInstance($this->adapter);
113
        
66
        
114
        $category_ids = [];
67
        
115
        
68
        $selectPublic = $queryMapper->getSql()->select();
116
        $selectPublic = $queryMapper->getSql()->select();
69
        $selectPublic->columns(['id']);
117
        $selectPublic->columns(['id']);
-
 
118
        $selectPublic->from(['c' => MyCoachCategoryMapper::_TABLE]);
Línea 70... Línea 119...
70
        $selectPublic->from(['c' => MyCoachCategoryMapper::_TABLE]);
119
        $selectPublic->where->equalTo('c.network_id', $network_id);
71
        $selectPublic->where->equalTo('c.network_id', $network_id);
120
        $selectPublic->where->equalTo('c.privacy', MyCoachCategory::PRIVACY_PUBLIC);
72
        $selectPublic->where->equalTo('c.privacy', MyCoachCategory::PRIVACY_PUBLIC);
121
        $selectPublic->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
73
        $selectPublic->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
122
 
74
        
123
        
75
        $select = $queryMapper->getSql()->select();
124
        $select = $queryMapper->getSql()->select();
76
        $select->columns(['id']);
125
        $select->columns(['id']);
77
        $select->from(['c' => MyCoachCategoryMapper::_TABLE]);
126
        $select->from(['c' => MyCoachCategoryMapper::_TABLE]);
-
 
127
        $select->join(['cu' => MyCoachCategoryUserMapper::_TABLE], 'c.id = cu.category_id', []);
-
 
128
        $select->where->equalTo('cu.user_id', $user_id);
-
 
129
        $select->where->equalTo('c.privacy', MyCoachCategory::PRIVACY_COMPANY);
Línea 78... Línea 130...
78
        $select->join(['cu' => MyCoachCategoryUserMapper::_TABLE], 'c.id = cu.category_id', []);
130
        $select->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
Línea 79... Línea 131...
79
        $select->where->equalTo('cu.user_id', $user_id);
131
        $select->combine( $selectPublic );
80
        $select->where->equalTo('c.privacy', MyCoachCategory::PRIVACY_COMPANY);
132
        if($selectJobDescription) {
81
        $select->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
133
            $select->combine( $selectJobDescription );
-
 
134
        }
82
        $select->combine( $selectPublic );
135
        
-
 
136
        // echo $select->getSqlString($this->adapter->platform); exit;
83
        
137
        
Línea 84... Línea 138...
84
        // echo $select->getSqlString($this->adapter->platform); exit;
138
        
Línea 85... Línea 139...
85
        
139
        $records = $queryMapper->fetchAll($select);
Línea 100... Línea 154...
100
     * @param int $network_id
154
     * @param int $network_id
101
     * @return array
155
     * @return array
102
     */
156
     */
103
    public function getCategoriesWithAccessToFormSelect($user_id, $network_id)
157
    public function getCategoriesWithAccessToFormSelect($user_id, $network_id)
104
    {
158
    {
-
 
159
        $category_filter_ids = $this->getCategoryIdsWithAccessJobDescription($user_id);
-
 
160
        
-
 
161
        
-
 
162
        $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
163
        
-
 
164
        if($category_filter_ids) {
-
 
165
            $selectJobDescription = $queryMapper->getSql()->select();
-
 
166
            $selectJobDescription->columns(['uuid', 'name']);
-
 
167
            $selectJobDescription->from(['c' => MyCoachCategoryMapper::_TABLE]);
-
 
168
            $selectJobDescription->where->equalTo('c.network_id', $network_id);
-
 
169
            $selectJobDescription->where->equalTo('c.status', MyCoachCategory::STATUS_ACTIVE);
-
 
170
            $selectJobDescription->where->in('id', $category_filter_ids);
-
 
171
        } else {
-
 
172
            $selectJobDescription = null;
-
 
173
        }
-
 
174
        
105
        $categories = [];
175
        $categories = [];
Línea 106... Línea -...
106
 
-
 
Línea 107... Línea 176...
107
        $queryMapper = QueryMapper::getInstance($this->adapter);
176
 
108
        
177
        
109
        
178
        
Línea 125... Línea 194...
125
        
194
        
126
        
195
        
127
        $records = $queryMapper->fetchAll($select);
196
        $records = $queryMapper->fetchAll($select);
-
 
197
        foreach($records as $record)
128
        foreach($records as $record)
198
        {
-
 
199
            if(!isset( $categories[ $record['uuid'] ]  )) {
129
        {
200
                $categories[ $record['uuid'] ] = $record['name'];
Línea 130... Línea 201...
130
           $categories[ $record['uuid'] ] = $record['name'];
201
            }
131
        }
202
        }