Completed
Pull Request — master (#41)
by Leszek
04:36
created

Inquiry::setDonationId()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 5
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace WMDE\Fundraising\Entities;
4
5
use Doctrine\ORM\Mapping as ORM;
6
7
/**
8
 * @since 2.0
9
 *
10
 * @ORM\Table(name="request", indexes={@ORM\Index(name="idx_donation_id", columns={"donation_id"})})
11
 * @ORM\Entity
12
 */
13
class Inquiry {
14
	/**
15
	 * @var integer
16
	 *
17
	 * @ORM\Column(name="donation_id", type="integer", nullable=true)
18
	 */
19
	private $donationId;
20
21
	/**
22
	 * @var \DateTime
23
	 *
24
	 * @ORM\Column(name="timestamp", type="datetime", nullable=true)
25
	 */
26
	private $timestamp;
27
28
	/**
29
	 * @var string
30
	 *
31
	 * @ORM\Column(name="anrede", type="string", length=16, nullable=true)
32
	 */
33
	private $salutation;
34
35
	/**
36
	 * @var string
37
	 *
38
	 * @ORM\Column(name="firma", type="string", length=100, nullable=true)
39
	 */
40
	private $company;
41
42
	/**
43
	 * @var string
44
	 *
45
	 * @ORM\Column(name="titel", type="string", length=16, nullable=true)
46
	 */
47
	private $title;
48
49
	/**
50
	 * @var string
51
	 *
52
	 * @ORM\Column(name="name", type="string", length=250, options={"default":""}, nullable=false)
53
	 */
54
	private $name = '';
55
56
	/**
57
	 * @var string
58
	 *
59
	 * @ORM\Column(name="vorname", type="string", length=50, options={"default":""}, nullable=false)
60
	 */
61
	private $firstName = '';
62
63
	/**
64
	 * @var string
65
	 *
66
	 * @ORM\Column(name="nachname", type="string", length=50, options={"default":""}, nullable=false)
67
	 */
68
	private $lastName = '';
69
70
	/**
71
	 * @var string
72
	 *
73
	 * @ORM\Column(name="strasse", type="string", length=100, nullable=true)
74
	 */
75
	private $address;
76
77
	/**
78
	 * @var string
79
	 *
80
	 * @ORM\Column(name="plz", type="string", length=8, nullable=true)
81
	 */
82
	private $postcode;
83
84
	/**
85
	 * @var string
86
	 *
87
	 * @ORM\Column(name="ort", type="string", length=100, nullable=true)
88
	 */
89
	private $city;
90
91
	/**
92
	 * @var string
93
	 *
94
	 * @ORM\Column(name="email", type="string", length=250, options={"default":""}, nullable=false)
95
	 */
96
	private $email = '';
97
98
	/**
99
	 * @var string
100
	 *
101
	 * @ORM\Column(name="phone", type="string", length=30, options={"default":""}, nullable=false)
102
	 */
103
	private $phone = '';
104
105
	/**
106
	 * @var \DateTime
107
	 *
108
	 * @ORM\Column(name="dob", type="date", nullable=true)
109
	 */
110
	private $dob;
111
112
	/**
113
	 * @var string
114
	 *
115
	 * @ORM\Column(name="wikimedium_shipping", type="string", options={"default":""}, nullable=false)
116
	 */
117
	private $wikimediumShipping = 'none';
118
119
	/**
120
	 * @var string
121
	 *
122
	 * @ORM\Column(name="membership_type", type="string", options={"default":"sustaining"}, nullable=false)
123
	 */
124
	private $membershipType = 'sustaining';
125
126
	/**
127
	 * @var integer
128
	 *
129
	 * @ORM\Column(name="membership_fee", type="integer", options={"default":0}, nullable=false)
130
	 */
131
	private $membershipFee = 0;
132
133
	/**
134
	 * @var integer
135
	 *
136
	 * @ORM\Column(name="membership_fee_interval", type="smallint", options={"default":12}, nullable=true)
137
	 */
138
139
	private $membershipFeeInterval = 12;
140
141
	/**
142
	 * @var string
143
	 *
144
	 * @ORM\Column(name="account_number", type="string", length=16, options={"default":""}, nullable=false)
145
	 */
146
	private $accountNumber = '';
147
148
	/**
149
	 * @var string
150
	 *
151
	 * @ORM\Column(name="bank_name", type="string", length=50, options={"default":""}, nullable=false)
152
	 */
153
	private $bankName = '';
154
155
	/**
156
	 * @var string
157
	 *
158
	 * @ORM\Column(name="bank_code", type="string", length=16, options={"default":""}, nullable=false)
159
	 */
160
	private $bankCode = '';
161
162
	/**
163
	 * @var string
164
	 *
165
	 * @ORM\Column(name="iban", type="string", length=32, options={"default":""}, nullable=true)
166
	 */
167
	private $iban = '';
168
169
	/**
170
	 * @var string
171
	 *
172
	 * @ORM\Column(name="bic", type="string", length=32, options={"default":""}, nullable=true)
173
	 */
174
	private $bic = '';
175
176
	/**
177
	 * @var string
178
	 *
179
	 * @ORM\Column(name="account_holder", type="string", length=50, options={"default":""}, nullable=false)
180
	 */
181
	private $accountHolder = '';
182
183
	/**
184
	 * @var string
185
	 *
186
	 * @ORM\Column(name="comment", type="text", options={"default":""}, nullable=false)
187
	 */
188
	private $comment = '';
189
190
	/**
191
	 * @var \DateTime
192
	 *
193
	 * @ORM\Column(name="export", type="datetime", nullable=true)
194
	 */
195
	private $export;
196
197
	/**
198
	 * @var \DateTime
199
	 *
200
	 * @ORM\Column(name="backup", type="datetime", nullable=true)
201
	 */
202
	private $backup;
203
204
	/**
205
	 * @var boolean
206
	 *
207
	 * @ORM\Column(name="wikilogin", type="boolean", options={"default":0}, nullable=false)
208
	 */
209
	private $wikilogin = 0;
210
211
	/**
212
	 * @var string
213
	 *
214
	 * @ORM\Column(name="tracking", type="string", length=50, nullable=true)
215
	 */
216
	private $tracking;
217
218
	/**
219
	 * @var integer
220
	 *
221
	 * @ORM\Column(name="status", type="smallint", options={"default":0}, nullable=true)
222
	 */
223
	private $status = 0;
224
225
	/**
226
	 * @var string
227
	 *
228
	 * @ORM\Column(name="country", type="string", length=8, options={"default":""}, nullable=true)
229
	 */
230
	private $country = '';
231
232
	/**
233
	 * @var string
234
	 *
235
	 * @ORM\Column(name="data", type="text", nullable=true)
236
	 */
237
	private $data;
238
239
	/**
240
	 * @var string
241
	 *
242
	 * @ORM\Column(name="guid", type="blob", length=16, nullable=true)
243
	 */
244
	private $guid;
0 ignored issues
show
Unused Code introduced by
The property $guid is not used and could be removed.

This check marks private properties in classes that are never used. Those properties can be removed.

Loading history...
245
246
	/**
247
	 * @var integer
248
	 *
249
	 * @ORM\Column(name="id", type="integer")
250
	 * @ORM\Id
251
	 * @ORM\GeneratedValue(strategy="IDENTITY")
252
	 */
253
	private $id;
254
255
	const STATUS_CONFIRMED = 1;
256
	const STATUS_NEUTRAL = 0;
257
	const STATUS_DELETED = -1;
258
	const STATUS_MODERATION = -2;
259
	const STATUS_ABORTED = -4;
260
	const STATUS_CANCELED = -8;
261
262
	/**
263
	 * Set donationId
264
	 *
265
	 * @param integer $donationId
266
	 * @return Inquiry
267
	 */
268
	public function setDonationId( $donationId ) {
269
		$this->donationId = $donationId;
270
271
		return $this;
272
	}
273
274
	/**
275
	 * Get donationId
276
	 *
277
	 * @return integer
278
	 */
279
	public function getDonationId() {
280
		return $this->donationId;
281
	}
282
283
	/**
284
	 * Set timestamp
285
	 *
286
	 * @param \DateTime $timestamp
287
	 * @return Inquiry
288
	 */
289
	public function setTimestamp( $timestamp ) {
290
		$this->timestamp = $timestamp;
291
292
		return $this;
293
	}
294
295
	/**
296
	 * Get timestamp
297
	 *
298
	 * @return \DateTime
299
	 */
300
	public function getTimestamp() {
301
		return $this->timestamp;
302
	}
303
304
	/**
305
	 * Set salutation
306
	 *
307
	 * @param string $salutation
308
	 * @return Inquiry
309
	 */
310
	public function setSalutation( $salutation ) {
311
		$this->salutation = $salutation;
312
313
		return $this;
314
	}
315
316
	/**
317
	 * Get salutation
318
	 *
319
	 * @return string
320
	 */
321
	public function getSalutation() {
322
		return $this->salutation;
323
	}
324
325
	/**
326
	 * Set company name
327
	 *
328
	 * @param string $company
329
	 * @return Inquiry
330
	 */
331
	public function setCompany( $company ) {
332
		$this->company = $company;
333
334
		return $this;
335
	}
336
337
	/**
338
	 * Get company name
339
	 *
340
	 * @return string
341
	 */
342
	public function getCompany() {
343
		return $this->company;
344
	}
345
346
	/**
347
	 * Set title
348
	 *
349
	 * @param string $title
350
	 * @return Inquiry
351
	 */
352
	public function setTitle( $title ) {
353
		$this->title = $title;
354
355
		return $this;
356
	}
357
358
	/**
359
	 * Get title
360
	 *
361
	 * @return string
362
	 */
363
	public function getTitle() {
364
		return $this->title;
365
	}
366
367
	/**
368
	 * Set name
369
	 *
370
	 * @param string $name
371
	 * @return Inquiry
372
	 */
373
	public function setName( $name ) {
374
		$this->name = $name;
375
376
		return $this;
377
	}
378
379
	/**
380
	 * Get name
381
	 *
382
	 * @return string
383
	 */
384
	public function getName() {
385
		return $this->name;
386
	}
387
388
	/**
389
	 * Set first name
390
	 *
391
	 * @param string $firstName
392
	 * @return Inquiry
393
	 */
394
	public function setFirstName( $firstName ) {
395
		$this->firstName = $firstName;
396
		$this->setNameFromParts( $firstName, $this->getLastName() );
397
398
		return $this;
399
	}
400
401
	/**
402
	 * Get first name
403
	 *
404
	 * @return string
405
	 */
406
	public function getFirstName() {
407
		return $this->firstName;
408
	}
409
410
	/**
411
	 * Set last name
412
	 *
413
	 * @param string $lastName
414
	 * @return Inquiry
415
	 */
416
	public function setLastName( $lastName ) {
417
		$this->lastName = $lastName;
418
		$this->setNameFromParts( $this->getFirstName(), $lastName );
419
420
		return $this;
421
	}
422
423
	/**
424
	 * Get last name
425
	 *
426
	 * @return string
427
	 */
428
	public function getLastName() {
429
		return $this->lastName;
430
	}
431
432
	/**
433
	 * Sets the full name
434
	 */
435
	public function setNameFromParts( $vorname, $nachname) {
436
		$parts = array_filter( [ $vorname, $nachname ] );
437
		$this->setName( implode( ' ', $parts ) );
438
439
		return $this;
440
	}
441
442
	/**
443
	 * Set address (street, etc)
444
	 *
445
	 * @param string $address
446
	 * @return Inquiry
447
	 */
448
	public function setAddress( $address ) {
449
		$this->address = $address;
450
451
		return $this;
452
	}
453
454
	/**
455
	 * Get address (street, etc)
456
	 *
457
	 * @return string
458
	 */
459
	public function getAddress() {
460
		return $this->address;
461
	}
462
463
	/**
464
	 * Set postcode
465
	 *
466
	 * @param string $postcode
467
	 * @return Inquiry
468
	 */
469
	public function setPostcode( $postcode ) {
470
		$this->postcode = $postcode;
471
472
		return $this;
473
	}
474
475
	/**
476
	 * Get postcode
477
	 *
478
	 * @return string
479
	 */
480
	public function getPostcode() {
481
		return $this->postcode;
482
	}
483
484
	/**
485
	 * Set city
486
	 *
487
	 * @param string $city
488
	 * @return Inquiry
489
	 */
490
	public function setCity( $city ) {
491
		$this->city = $city;
492
493
		return $this;
494
	}
495
496
	/**
497
	 * Get city
498
	 *
499
	 * @return string
500
	 */
501
	public function getCity() {
502
		return $this->city;
503
	}
504
505
	/**
506
	 * Set email
507
	 *
508
	 * @param string $email
509
	 * @return Inquiry
510
	 */
511
	public function setEmail( $email ) {
512
		$this->email = $email;
513
514
		return $this;
515
	}
516
517
	/**
518
	 * Get email
519
	 *
520
	 * @return string
521
	 */
522
	public function getEmail() {
523
		return $this->email;
524
	}
525
526
	/**
527
	 * Set phone
528
	 *
529
	 * @param string $phone
530
	 * @return Inquiry
531
	 */
532
	public function setPhone( $phone ) {
533
		$this->phone = $phone;
534
535
		return $this;
536
	}
537
538
	/**
539
	 * Get phone
540
	 *
541
	 * @return string
542
	 */
543
	public function getPhone() {
544
		return $this->phone;
545
	}
546
547
	/**
548
	 * Set dob
549
	 *
550
	 * @param \DateTime $dob
551
	 * @return Inquiry
552
	 */
553
	public function setDob( $dob ) {
554
		$this->dob = $dob;
555
556
		return $this;
557
	}
558
559
	/**
560
	 * Get dob
561
	 *
562
	 * @return \DateTime
563
	 */
564
	public function getDob() {
565
		return $this->dob;
566
	}
567
568
	/**
569
	 * Set wikimediumShipping
570
	 *
571
	 * @param string $wikimediumShipping
572
	 * @return Inquiry
573
	 */
574
	public function setWikimediumShipping( $wikimediumShipping ) {
575
		$this->wikimediumShipping = $wikimediumShipping;
576
577
		return $this;
578
	}
579
580
	/**
581
	 * Get wikimediumShipping
582
	 *
583
	 * @return string
584
	 */
585
	public function getWikimediumShipping() {
586
		return $this->wikimediumShipping;
587
	}
588
589
	/**
590
	 * Set membershipType
591
	 *
592
	 * @param string $membershipType
593
	 * @return Inquiry
594
	 */
595
	public function setMembershipType( $membershipType ) {
596
		$this->membershipType = $membershipType;
597
598
		return $this;
599
	}
600
601
	/**
602
	 * Get membershipType
603
	 *
604
	 * @return string
605
	 */
606
	public function getMembershipType() {
607
		return $this->membershipType;
608
	}
609
610
	/**
611
	 * Set membershipFee
612
	 *
613
	 * @param integer $membershipFee
614
	 * @return Inquiry
615
	 */
616
	public function setMembershipFee( $membershipFee ) {
617
		$this->membershipFee = $membershipFee;
618
619
		return $this;
620
	}
621
622
	/**
623
	 * Get membershipFee
624
	 *
625
	 * @return integer
626
	 */
627
	public function getMembershipFee() {
628
		return $this->membershipFee;
629
	}
630
631
	/**
632
	 * Set membershipFeeInterval
633
	 *
634
	 * @param integer $membershipFeeInterval
635
	 *
636
	 * @return Inquiry
637
	 */
638
	public function setMembershipFeeInterval($membershipFeeInterval) {
639
		$this->membershipFeeInterval = $membershipFeeInterval;
640
641
		return $this;
642
	}
643
644
	/**
645
	 * Get membershipFeeInterval
646
	 *
647
	 * @return integer
648
	 */
649
	public function getMembershipFeeInterval() {
650
		return $this->membershipFeeInterval;
651
	}
652
653
654
	/**
655
	 * Set accountNumber
656
	 *
657
	 * @param string $accountNumber
658
	 * @return Inquiry
659
	 */
660
	public function setAccountNumber( $accountNumber ) {
661
		$this->accountNumber = $accountNumber;
662
663
		return $this;
664
	}
665
666
	/**
667
	 * Get accountNumber
668
	 *
669
	 * @return string
670
	 */
671
	public function getAccountNumber() {
672
		return $this->accountNumber;
673
	}
674
675
	/**
676
	 * Set bankName
677
	 *
678
	 * @param string $bankName
679
	 * @return Inquiry
680
	 */
681
	public function setBankName( $bankName ) {
682
		$this->bankName = $bankName;
683
684
		return $this;
685
	}
686
687
	/**
688
	 * Get bankName
689
	 *
690
	 * @return string
691
	 */
692
	public function getBankName() {
693
		return $this->bankName;
694
	}
695
696
	/**
697
	 * Set bankCode
698
	 *
699
	 * @param string $bankCode
700
	 * @return Inquiry
701
	 */
702
	public function setBankCode( $bankCode ) {
703
		$this->bankCode = $bankCode;
704
705
		return $this;
706
	}
707
708
	/**
709
	 * Get bankCode
710
	 *
711
	 * @return string
712
	 */
713
	public function getBankCode() {
714
		return $this->bankCode;
715
	}
716
717
	/**
718
	 * Set iban
719
	 *
720
	 * @param string $iban
721
	 * @return Inquiry
722
	 */
723
	public function setIban( $iban ) {
724
		$this->iban = $iban;
725
726
		return $this;
727
	}
728
729
	/**
730
	 * Get iban
731
	 *
732
	 * @return string
733
	 */
734
	public function getIban() {
735
		return $this->iban;
736
	}
737
738
	/**
739
	 * Set bic
740
	 *
741
	 * @param string $bic
742
	 * @return Inquiry
743
	 */
744
	public function setBic( $bic ) {
745
		$this->bic = $bic;
746
747
		return $this;
748
	}
749
750
	/**
751
	 * Get bic
752
	 *
753
	 * @return string
754
	 */
755
	public function getBic() {
756
		return $this->bic;
757
	}
758
759
	/**
760
	 * Set accountHolder
761
	 *
762
	 * @param string $accountHolder
763
	 * @return Inquiry
764
	 */
765
	public function setAccountHolder( $accountHolder ) {
766
		$this->accountHolder = $accountHolder;
767
768
		return $this;
769
	}
770
771
	/**
772
	 * Get accountHolder
773
	 *
774
	 * @return string
775
	 */
776
	public function getAccountHolder() {
777
		return $this->accountHolder;
778
	}
779
780
	/**
781
	 * Set comment
782
	 *
783
	 * @param string $comment
784
	 * @return Inquiry
785
	 */
786
	public function setComment( $comment ) {
787
		$this->comment = $comment;
788
789
		return $this;
790
	}
791
792
	/**
793
	 * Get comment
794
	 *
795
	 * @return string
796
	 */
797
	public function getComment() {
798
		return $this->comment;
799
	}
800
801
	/**
802
	 * Set export
803
	 *
804
	 * @param \DateTime $export
805
	 * @return Inquiry
806
	 */
807
	public function setExport( $export ) {
808
		$this->export = $export;
809
810
		return $this;
811
	}
812
813
	/**
814
	 * Get export
815
	 *
816
	 * @return \DateTime
817
	 */
818
	public function getExport() {
819
		return $this->export;
820
	}
821
822
	/**
823
	 * Set backup
824
	 *
825
	 * @param \DateTime $backup
826
	 * @return Inquiry
827
	 */
828
	public function setBackup( $backup ) {
829
		$this->backup = $backup;
830
831
		return $this;
832
	}
833
834
	/**
835
	 * Get backup
836
	 *
837
	 * @return \DateTime
838
	 */
839
	public function getBackup() {
840
		return $this->backup;
841
	}
842
843
	/**
844
	 * Set wikilogin
845
	 *
846
	 * @param boolean $wikilogin
847
	 * @return Inquiry
848
	 */
849
	public function setWikilogin( $wikilogin ) {
850
		$this->wikilogin = $wikilogin;
851
852
		return $this;
853
	}
854
855
	/**
856
	 * Get wikilogin
857
	 *
858
	 * @return boolean
859
	 */
860
	public function getWikilogin() {
861
		return $this->wikilogin;
862
	}
863
864
	/**
865
	 * Set tracking
866
	 *
867
	 * @param string $tracking
868
	 * @return Inquiry
869
	 */
870
	public function setTracking( $tracking ) {
871
		$this->tracking = $tracking;
872
873
		return $this;
874
	}
875
876
	/**
877
	 * Get tracking
878
	 *
879
	 * @return string
880
	 */
881
	public function getTracking() {
882
		return $this->tracking;
883
	}
884
885
	/**
886
	 * Set status
887
	 *
888
	 * @param integer $status
889
	 * @return Inquiry
890
	 */
891
	public function setStatus( $status ) {
892
		$this->status = $status;
893
894
		return $this;
895
	}
896
897
	/**
898
	 * Get status
899
	 *
900
	 * @return integer
901
	 */
902
	public function getStatus() {
903
		return $this->status;
904
	}
905
906
	/**
907
	 * Set country
908
	 *
909
	 * @param string $country
910
	 * @return Inquiry
911
	 */
912
	public function setCountry( $country ) {
913
		$this->country = $country;
914
915
		return $this;
916
	}
917
918
	/**
919
	 * Get country
920
	 *
921
	 * @return string
922
	 */
923
	public function getCountry() {
924
		return $this->country;
925
	}
926
927
	/**
928
	 * Set data
929
	 *
930
	 * @param string $data
931
	 * @return Inquiry
932
	 */
933
	public function setData( $data ) {
934
		$this->data = $data;
935
936
		return $this;
937
	}
938
939
	/**
940
	 * Get data
941
	 *
942
	 * @return string
943
	 */
944
	public function getData() {
945
		return $this->data;
946
	}
947
948
	/**
949
	 * Get id
950
	 *
951
	 * @return integer
952
	 */
953
	public function getId() {
954
		return $this->id;
955
	}
956
957
	public function isUnconfirmed() {
958
		return $this->getStatus() === self::STATUS_NEUTRAL;
959
	}
960
961
	public function log( $message ) {
962
		$dataArray = $this->getDataArray();
963
		$dataArray[ "log" ][ date( "Y-m-d H:i:s" ) ] = $message;
964
		return $this->saveDataArray( $dataArray );
965
	}
966
967
	private function getDataArray() {
968
		return unserialize( base64_decode( $this->data ) );
969
	}
970
971
	private function saveDataArray( array $dataArray ) {
972
		$this->data = base64_encode( serialize( $dataArray ) );
973
		return $this;
974
	}
975
}
976