Completed
Push — master ( c9546d...95f607 )
by Julito
09:41
created

SessionRelCourseRelUser::setStatus()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
/* For licensing terms, see /license.txt */
4
5
namespace Chamilo\CoreBundle\Entity;
6
7
use ApiPlatform\Core\Annotation\ApiResource;
8
use Chamilo\CoreBundle\Traits\UserTrait;
9
use Doctrine\ORM\Mapping as ORM;
10
use Symfony\Component\Serializer\Annotation\Groups;
11
12
/**
13
 * Class SessionRelCourseRelUser.
14
 *
15
 * @ApiResource(
16
 *      shortName="SessionSubscription",
17
 *      normalizationContext={"groups"={"session_rel_course_rel_user:read", "user:read"}}
18
 * )
19
 * @ORM\Table(
20
 *      name="session_rel_course_rel_user",
21
 *      indexes={
22
 *          @ORM\Index(name="idx_session_rel_course_rel_user_id_user", columns={"user_id"}),
23
 *          @ORM\Index(name="idx_session_rel_course_rel_user_course_id", columns={"c_id"})
24
 *      }
25
 * )
26
 * @ORM\Entity
27
 */
28
class SessionRelCourseRelUser
29
{
30
    use UserTrait;
31
32
    public const STATUS_STUDENT = 0;
33
    public const STATUS_COURSE_COACH = 2;
34
35
    public $statusList = [
36
        0 => 'student',
37
        2 => 'course_coach',
38
    ];
39
40
    /**
41
     * @var int
42
     *
43
     * @ORM\Column(name="id", type="integer", nullable=false, unique=false)
44
     * @ORM\Id
45
     * @ORM\GeneratedValue
46
     */
47
    protected $id;
48
49
    /**
50
     * @var User
51
     *
52
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="sessionCourseSubscriptions", cascade={"persist"})
53
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
54
     */
55
    protected $user;
56
57
    /**
58
     * @var Session
59
     * @Groups({"session_rel_course_rel_user:read"})
60
     * @ORM\ManyToOne(targetEntity="Session", inversedBy="userCourseSubscriptions", cascade={"persist"})
61
     * @ORM\JoinColumn(name="session_id", referencedColumnName="id", nullable=false)
62
     */
63
    protected $session;
64
65
    /**
66
     * @var Course
67
     * @Groups({"session_rel_course_rel_user:read"})
68
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="sessionUserSubscriptions", cascade={"persist"})
69
     * @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false)
70
     */
71
    protected $course;
72
73
    /**
74
     * @var int
75
     *
76
     * @ORM\Column(name="visibility", type="integer", nullable=false, unique=false)
77
     */
78
    protected $visibility;
79
80
    /**
81
     * @var int
82
     *
83
     * @ORM\Column(name="status", type="integer", nullable=false, unique=false)
84
     */
85
    protected $status;
86
87
    /**
88
     * @var int
89
     *
90
     * @ORM\Column(name="legal_agreement", type="integer", nullable=true, unique=false)
91
     */
92
    protected $legalAgreement;
93
94
    /**
95
     * Constructor.
96
     */
97
    public function __construct()
98
    {
99
        $this->visibility = 1;
100
    }
101
102
    /**
103
     * @return Session
104
     */
105
    public function getSession()
106
    {
107
        return $this->session;
108
    }
109
110
    /**
111
     * @param Session $session
112
     *
113
     * @return $this
114
     */
115
    public function setSession($session)
116
    {
117
        $this->session = $session;
118
119
        return $this;
120
    }
121
122
    /**
123
     * @return Course
124
     */
125
    public function getCourse()
126
    {
127
        return $this->course;
128
    }
129
130
    /**
131
     * @param Course $course
132
     *
133
     * @return $this
134
     */
135
    public function setCourse($course)
136
    {
137
        $this->course = $course;
138
139
        return $this;
140
    }
141
142
    /**
143
     * Get id.
144
     *
145
     * @return int
146
     */
147
    public function getId()
148
    {
149
        return $this->id;
150
    }
151
152
    /**
153
     * Set visibility.
154
     *
155
     * @param int $visibility
156
     *
157
     * @return SessionRelCourseRelUser
158
     */
159
    public function setVisibility($visibility)
160
    {
161
        $this->visibility = $visibility;
162
163
        return $this;
164
    }
165
166
    /**
167
     * Get visibility.
168
     *
169
     * @return int
170
     */
171
    public function getVisibility()
172
    {
173
        return $this->visibility;
174
    }
175
176
    /**
177
     * Set status.
178
     *
179
     * @param int $status
180
     *
181
     * @return SessionRelCourseRelUser
182
     */
183
    public function setStatus($status)
184
    {
185
        $this->status = $status;
186
187
        return $this;
188
    }
189
190
    /**
191
     * Get status.
192
     *
193
     * @return int
194
     */
195
    public function getStatus()
196
    {
197
        return $this->status;
198
    }
199
200
    /**
201
     * Set legalAgreement.
202
     *
203
     * @param int $legalAgreement
204
     *
205
     * @return $this
206
     */
207
    public function setLegalAgreement($legalAgreement)
208
    {
209
        $this->legalAgreement = $legalAgreement;
210
211
        return $this;
212
    }
213
214
    /**
215
     * Get legalAgreement.
216
     *
217
     * @return int
218
     */
219
    public function getLegalAgreement()
220
    {
221
        return $this->legalAgreement;
222
    }
223
}
224