| @@ -51,10 +51,24 @@ | ||
| 51 | 51 | // convert the saving operation into an update |
| 52 | 52 | $data['id'] = $customer->id; |
| 53 | 53 | } |
| 54 | 54 | } |
| 55 | + | |
| 56 | + /** | |
| 57 | + * Make sure the customer PIN code does not default to an empty value of 0. | |
| 58 | + * | |
| 59 | + * @since 1.18.11 (J) - 1.8.11 (WP) | |
| 60 | + */ | |
| 61 | + if (empty($data['pin'])) { | |
| 62 | + do { | |
| 63 | + // always generate a unique PIN code for new records | |
| 64 | + $data['pin'] = VikBooking::getCPinInstance()->generateSerialCode(8); | |
| 65 | + // repeat in case a record with the same PIN already exists | |
| 66 | + } while ($this->getItem(['pin' => $data['pin']])); | |
| 67 | + } | |
| 55 | 68 | } |
| 56 | 69 | |
| 70 | + // always take care of the customer country | |
| 57 | 71 | if (!empty($data['country']) && strlen($data['country']) !== 3) { |
| 58 | 72 | // attempt to convert a country iso2 code or name into the corresponding iso3 char code |
| 59 | 73 | $data['country'] = VikBooking::getCPinInstance()->get3CharCountry($data['country']); |
| 60 | 74 | } |