Passed
Push — master ( 624452...6304f4 )
by Julito
08:28
created

GradebookCategory::setCourse()   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 Chamilo\CoreBundle\Traits\CourseTrait;
8
use Chamilo\CoreBundle\Traits\UserTrait;
9
use Doctrine\Common\Collections\ArrayCollection;
10
use Doctrine\ORM\Mapping as ORM;
11
use Symfony\Component\Validator\Constraints as Assert;
12
13
/**
14
 * @ORM\Table(name="gradebook_category",
15
 *  indexes={
16
 *  }))
17
 * @ORM\Entity
18
 */
19
class GradebookCategory
20
{
21
    use UserTrait;
22
    use CourseTrait;
23
24
    /**
25
     * @var int
26
     *
27
     * @ORM\Column(name="id", type="integer")
28
     * @ORM\Id
29
     * @ORM\GeneratedValue
30
     */
31
    protected $id;
32
33
    /**
34
     * @Assert\NotBlank
35
     *
36
     * @ORM\Column(name="name", type="text", nullable=false)
37
     */
38
    protected string $name;
39
40
    /**
41
     * @ORM\Column(name="description", type="text", nullable=true)
42
     */
43
    protected ?string $description;
44
45
    /**
46
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="gradeBookCategories")
47
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
48
     */
49
    protected User $user;
50
51
    /**
52
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="gradebookCategories")
53
     * @ORM\JoinColumn(name="c_id", referencedColumnName="id")
54
     */
55
    protected Course $course;
56
57
    /**
58
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\GradebookCategory")
59
     * @ORM\JoinColumn(name="parent_id",referencedColumnName="id")
60
     */
61
    protected ?GradebookCategory $parent;
62
63
    /**
64
     * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Session")
65
     * @ORM\JoinColumn(name="session_id", referencedColumnName="id")
66
     */
67
    protected ?Session $session;
68
69
    /**
70
     * @var float
71
     *
72
     * @ORM\Column(name="weight", type="float", precision=10, scale=0, nullable=false)
73
     */
74
    protected $weight;
75
76
    /**
77
     * @var bool
78
     *
79
     * @ORM\Column(name="visible", type="boolean", nullable=false)
80
     */
81
    protected $visible;
82
83
    /**
84
     * @var int
85
     *
86
     * @ORM\Column(name="certif_min_score", type="integer", nullable=true)
87
     */
88
    protected $certifMinScore;
89
90
91
    /**
92
     * @var int
93
     *
94
     * @ORM\Column(name="document_id", type="integer", nullable=true)
95
     */
96
    protected $documentId;
97
98
    /**
99
     * @var int
100
     *
101
     * @ORM\Column(name="locked", type="integer", nullable=false)
102
     */
103
    protected $locked;
104
105
    /**
106
     * @var bool
107
     *
108
     * @ORM\Column(name="default_lowest_eval_exclude", type="boolean", nullable=true)
109
     */
110
    protected $defaultLowestEvalExclude;
111
112
    /**
113
     * @var bool
114
     *
115
     * @ORM\Column(name="generate_certificates", type="boolean", nullable=false)
116
     */
117
    protected $generateCertificates;
118
119
    /**
120
     * @var int
121
     *
122
     * @ORM\Column(name="grade_model_id", type="integer", nullable=true)
123
     */
124
    protected $gradeModelId;
125
126
    /**
127
     * @var bool
128
     *
129
     * @ORM\Column(
130
     *      name="is_requirement",
131
     *      type="boolean",
132
     *      nullable=false,
133
     *      options={"default": 0 }
134
     * )
135
     */
136
    protected $isRequirement;
137
138
    /**
139
     * @var string
140
     *
141
     * @ORM\Column(name="depends", type="text", nullable=true)
142
     */
143
    protected $depends;
144
145
    /**
146
     * @var int
147
     *
148
     * @ORM\Column(name="minimum_to_validate", type="integer", nullable=true)
149
     */
150
    protected $minimumToValidate;
151
152
    /**
153
     * @var int
154
     *
155
     * @ORM\Column(name="gradebooks_to_validate_in_dependence", type="integer", nullable=true)
156
     */
157
    protected $gradeBooksToValidateInDependence;
158
159
    /**
160
     * @var ArrayCollection|GradebookComment[]
161
     *
162
     * @ORM\OneToMany(targetEntity="Chamilo\CoreBundle\Entity\GradebookComment", mappedBy="gradebook")
163
     */
164
    protected $comments;
165
166
    public function __construct()
167
    {
168
        $this->description = '';
169
        $this->comments = new ArrayCollection();
170
        $this->locked = 0;
171
        $this->generateCertificates = false;
172
        $this->isRequirement = false;
173
    }
174
175
    /**
176
     * Get id.
177
     *
178
     * @return int
179
     */
180
    public function getId()
181
    {
182
        return $this->id;
183
    }
184
185
    /**
186
     * Set name.
187
     *
188
     * @param string $name
189
     *
190
     * @return GradebookCategory
191
     */
192
    public function setName($name)
193
    {
194
        $this->name = $name;
195
196
        return $this;
197
    }
198
199
    /**
200
     * Get name.
201
     *
202
     * @return string
203
     */
204
    public function getName()
205
    {
206
        return $this->name;
207
    }
208
209
    /**
210
     * Set description.
211
     */
212
    public function setDescription(?string $description): self
213
    {
214
        $this->description = $description;
215
216
        return $this;
217
    }
218
219
    /**
220
     * Get description.
221
     */
222
    public function getDescription(): ?string
223
    {
224
        return $this->description;
225
    }
226
227
    /**
228
     * Set weight.
229
     *
230
     * @param float $weight
231
     */
232
    public function setWeight($weight): self
233
    {
234
        $this->weight = (float) $weight;
235
236
        return $this;
237
    }
238
239
    /**
240
     * Get weight.
241
     *
242
     * @return float
243
     */
244
    public function getWeight()
245
    {
246
        return $this->weight;
247
    }
248
249
    /**
250
     * Set visible.
251
     *
252
     * @param bool $visible
253
     *
254
     * @return GradebookCategory
255
     */
256
    public function setVisible($visible)
257
    {
258
        $this->visible = $visible;
259
260
        return $this;
261
    }
262
263
    /**
264
     * Get visible.
265
     *
266
     * @return bool
267
     */
268
    public function getVisible()
269
    {
270
        return $this->visible;
271
    }
272
273
    /**
274
     * Set certifMinScore.
275
     *
276
     * @param int $certifMinScore
277
     *
278
     * @return GradebookCategory
279
     */
280
    public function setCertifMinScore($certifMinScore)
281
    {
282
        $this->certifMinScore = $certifMinScore;
283
284
        return $this;
285
    }
286
287
    /**
288
     * Get certifMinScore.
289
     *
290
     * @return int
291
     */
292
    public function getCertifMinScore()
293
    {
294
        return $this->certifMinScore;
295
    }
296
297
    /**
298
     * Set sessionId.
299
     *
300
     * @param int $sessionId
301
     *
302
     * @return GradebookCategory
303
     */
304
    public function setSessionId($sessionId)
305
    {
306
        $this->sessionId = $sessionId;
307
308
        return $this;
309
    }
310
311
    /**
312
     * Get sessionId.
313
     *
314
     * @return int
315
     */
316
    public function getSessionId()
317
    {
318
        return $this->sessionId;
319
    }
320
321
    /**
322
     * Set documentId.
323
     *
324
     * @param int $documentId
325
     *
326
     * @return GradebookCategory
327
     */
328
    public function setDocumentId($documentId)
329
    {
330
        $this->documentId = $documentId;
331
332
        return $this;
333
    }
334
335
    /**
336
     * Get documentId.
337
     *
338
     * @return int
339
     */
340
    public function getDocumentId()
341
    {
342
        return $this->documentId;
343
    }
344
345
    /**
346
     * Set locked.
347
     *
348
     * @param int $locked
349
     *
350
     * @return GradebookCategory
351
     */
352
    public function setLocked($locked)
353
    {
354
        $this->locked = $locked;
355
356
        return $this;
357
    }
358
359
    /**
360
     * Get locked.
361
     *
362
     * @return int
363
     */
364
    public function getLocked()
365
    {
366
        return $this->locked;
367
    }
368
369
    /**
370
     * Set defaultLowestEvalExclude.
371
     *
372
     * @param bool $defaultLowestEvalExclude
373
     *
374
     * @return GradebookCategory
375
     */
376
    public function setDefaultLowestEvalExclude($defaultLowestEvalExclude)
377
    {
378
        $this->defaultLowestEvalExclude = $defaultLowestEvalExclude;
379
380
        return $this;
381
    }
382
383
    /**
384
     * Get defaultLowestEvalExclude.
385
     *
386
     * @return bool
387
     */
388
    public function getDefaultLowestEvalExclude()
389
    {
390
        return $this->defaultLowestEvalExclude;
391
    }
392
393
    /**
394
     * Set generateCertificates.
395
     *
396
     * @param bool $generateCertificates
397
     *
398
     * @return GradebookCategory
399
     */
400
    public function setGenerateCertificates($generateCertificates)
401
    {
402
        $this->generateCertificates = $generateCertificates;
403
404
        return $this;
405
    }
406
407
    /**
408
     * Get generateCertificates.
409
     *
410
     * @return bool
411
     */
412
    public function getGenerateCertificates()
413
    {
414
        return $this->generateCertificates;
415
    }
416
417
    /**
418
     * Set gradeModelId.
419
     *
420
     * @param int $gradeModelId
421
     *
422
     * @return GradebookCategory
423
     */
424
    public function setGradeModelId($gradeModelId)
425
    {
426
        $this->gradeModelId = $gradeModelId;
427
428
        return $this;
429
    }
430
431
    /**
432
     * Get gradeModelId.
433
     *
434
     * @return int
435
     */
436
    public function getGradeModelId()
437
    {
438
        return $this->gradeModelId;
439
    }
440
441
    /**
442
     * Set isRequirement.
443
     *
444
     * @param bool $isRequirement
445
     *
446
     * @return GradebookCategory
447
     */
448
    public function setIsRequirement($isRequirement)
449
    {
450
        $this->isRequirement = $isRequirement;
451
452
        return $this;
453
    }
454
455
    /**
456
     * Get isRequirement.
457
     *
458
     * @return bool
459
     */
460
    public function getIsRequirement()
461
    {
462
        return $this->isRequirement;
463
    }
464
465
    public function getGradeBooksToValidateInDependence(): int
466
    {
467
        return $this->gradeBooksToValidateInDependence;
468
    }
469
470
    public function setGradeBooksToValidateInDependence(int $value): self
471
    {
472
        $this->gradeBooksToValidateInDependence = $value;
473
474
        return $this;
475
    }
476
}
477