diff --git a/addons/default/visiosoft/profile-module/resources/assets/css/profile.scss b/addons/default/visiosoft/profile-module/resources/assets/css/profile.scss
index ea9072a56..73cf95b77 100644
--- a/addons/default/visiosoft/profile-module/resources/assets/css/profile.scss
+++ b/addons/default/visiosoft/profile-module/resources/assets/css/profile.scss
@@ -114,4 +114,10 @@
}
}
}
+
+ #nav-details {
+ .birthday-field .input-group-addon {
+ display: none;
+ }
+ }
}
\ No newline at end of file
diff --git a/addons/default/visiosoft/profile-module/resources/lang/en/field.php b/addons/default/visiosoft/profile-module/resources/lang/en/field.php
index df06bb419..452193750 100644
--- a/addons/default/visiosoft/profile-module/resources/lang/en/field.php
+++ b/addons/default/visiosoft/profile-module/resources/lang/en/field.php
@@ -55,6 +55,9 @@ return [
'register_type' => [
'name' => 'Register Type'
],
+ 'birthday' => [
+ 'name' => 'Birthday'
+ ],
'identification_number' => [
'name' => 'Identification Number'
],
diff --git a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig
index 64ab4f27d..98720ce82 100644
--- a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig
+++ b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig
@@ -151,7 +151,9 @@
-
+
{{ profileForm.fields.register_type.input|raw }}
diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php
index 44b7e584a..a64e538b5 100644
--- a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php
+++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php
@@ -13,6 +13,7 @@ class ProfileFormBuilder extends FormBuilder
'office_phone',
'land_phone',
'identification_number',
+ 'birthday',
'register_type'
];
diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php
index f1f0d45b7..3a5b2a9bf 100644
--- a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php
+++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php
@@ -21,6 +21,7 @@ class ProfileFormHandler
'office_phone' => $builder->getPostValue('office_phone'),
'land_phone' => $builder->getPostValue('land_phone'),
'identification_number' => $builder->getPostValue('identification_number'),
+ 'birthday' => $builder->getPostValue('birthday'),
'register_type' => $builder->getPostValue('register_type'),
];
diff --git a/addons/default/visiosoft/profile-module/src/Seed/UsersFieldsSeeder.php b/addons/default/visiosoft/profile-module/src/Seed/UsersFieldsSeeder.php
index ede3c3c13..d4315d3ac 100644
--- a/addons/default/visiosoft/profile-module/src/Seed/UsersFieldsSeeder.php
+++ b/addons/default/visiosoft/profile-module/src/Seed/UsersFieldsSeeder.php
@@ -3,11 +3,9 @@
use Anomaly\Streams\Platform\Assignment\AssignmentModelTranslation;
use Anomaly\Streams\Platform\Assignment\Contract\AssignmentRepositoryInterface;
use Anomaly\Streams\Platform\Database\Seeder\Seeder;
-use Anomaly\Streams\Platform\Entry\EntryTranslationsModel;
use Anomaly\Streams\Platform\Field\Contract\FieldRepositoryInterface;
use Anomaly\Streams\Platform\Field\FieldModelTranslation;
use Anomaly\Streams\Platform\Stream\Contract\StreamRepositoryInterface;
-use Anomaly\Streams\Platform\Stream\StreamModelTranslation;
use Visiosoft\LocationModule\Country\CountryModel;
class UsersFieldsSeeder extends Seeder
@@ -28,166 +26,177 @@ class UsersFieldsSeeder extends Seeder
AssignmentModelTranslation $assignmentModelTranslation
)
{
- $namespace = 'users';
- $locked = 0;
- $stream = $streamRepository->findBySlugAndNamespace('users', 'users');
+ if ($this->command->confirm('This command will remove the old custom fields from the users table! Are you sure you want to continue?')) {
+ $namespace = 'users';
+ $locked = 0;
+ $stream = $streamRepository->findBySlugAndNamespace('users', 'users');
- $customFields = [
- 0 => [
- 'name' => 'File',
- 'slug' => 'file',
- 'type' => 'visiosoft.field_type.singlefile',
- 'config' => [
- 'folders' => ["images"],
- 'mode' => 'upload',
- ]
- ],
- 1 => [
- 'name' => 'Country',
- 'slug' => 'country',
- 'type' => 'anomaly.field_type.relationship',
- 'config' => [
- 'related' => CountryModel::class,
- "default_value" => 0,
+ $customFields = [
+ 0 => [
+ 'name' => 'File',
+ 'slug' => 'file',
+ 'type' => 'visiosoft.field_type.singlefile',
+ 'config' => [
+ 'folders' => ["images"],
+ 'mode' => 'upload',
+ ]
],
- ],
- 2 => [
- 'name' => 'City',
- 'slug' => 'city',
- 'type' => 'anomaly.field_type.select',
- "config" => [
- "options" => [],
- ]
- ],
- 3 => [
- 'name' => 'District',
- 'slug' => 'district',
- 'type' => 'anomaly.field_type.select',
- "config" => [
- "options" => [],
- ]
- ],
- 4 => [
- 'name' => 'Neighborhood',
- 'slug' => 'neighborhood',
- 'type' => 'anomaly.field_type.select',
- "config" => [
- "options" => [],
- ]
- ],
- 5 => [
- 'name' => 'Village',
- 'slug' => 'village',
- 'type' => 'anomaly.field_type.select',
- "config" => [
- "options" => [],
- ]
- ],
- 6 => [
- 'name' => 'Gsm Phone',
- 'slug' => 'gsm_phone',
- 'type' => 'anomaly.field_type.text',
- ],
- 7 => [
- 'name' => 'Land Phone',
- 'slug' => 'land_phone',
- 'type' => 'anomaly.field_type.text',
- ],
- 8 => [
- 'name' => 'Office Phone',
- 'slug' => 'office_phone',
- 'type' => 'anomaly.field_type.text',
- ],
- 9 => [
- 'name' => 'Register Type',
- 'slug' => 'register_type',
- 'type' => 'anomaly.field_type.select',
- "config" => [
- "options" => [
- '1' => trans('visiosoft.module.profile::field.individual.name'),
- '2' => trans('visiosoft.module.profile::field.corporate.name')
+ 1 => [
+ 'name' => 'Country',
+ 'slug' => 'country',
+ 'type' => 'anomaly.field_type.relationship',
+ 'config' => [
+ 'related' => CountryModel::class,
+ "default_value" => 0,
],
- ]
- ],
- 10 => [
- 'name' => 'Identification Number',
- 'slug' => 'identification_number',
- 'type' => 'anomaly.field_type.text',
- ],
- 11 => [
- 'name' => 'Notified New Updates',
- 'slug' => 'notified_new_updates',
- 'type' => 'anomaly.field_type.select',
- 'config' => [
- 'default_value' => 1,
- 'options' => [0 => 'Active', 1 => 'Passive'],
- 'separator' => ':',
- ]
- ],
- 12 => [
- 'name' => 'Notified About Ads',
- 'slug' => 'notified_about_ads',
- 'type' => 'anomaly.field_type.select',
- 'config' => [
- 'default_value' => 1,
- 'options' => [0 => 'Active', 1 => 'Passive'],
- 'separator' => ':',
- ]
- ],
- 13 => [
- 'name' => 'Receive Messages Email',
- 'slug' => 'receive_messages_email',
- 'type' => 'anomaly.field_type.select',
- 'config' => [
- 'default_value' => 1,
- 'options' => [0 => 'Active', 1 => 'Passive'],
- 'separator' => ':',
- ]
- ],
- ];
-
- foreach ($customFields as $customField) {
- $fields = $fieldRepository
- ->newQuery()
- ->where('slug', $customField['slug'])
- ->where('namespace', $namespace)
- ->get();
-
- if ($fields) {
- foreach ($fields as $field) {
- $fieldModelTranslation->newQuery()->where('field_id', $field->id)->delete();
-
- $assignment = $assignmentRepository
- ->newQuery()
- ->where('stream_id', $stream->id)
- ->where('field_id', $field->id)
- ->first();
- if ($assignment) {
- $assignmentModelTranslation->newQuery()->where('assignment_id', $assignment->id)->delete();
- $assignment->delete();
- }
-
- $field->delete();
- }
- }
-
- $data = [
- 'name' => $customField['name'],
- 'namespace' => $namespace,
- 'slug' => $customField['slug'],
- 'type' => $customField['type'],
- 'locked' => $locked
+ ],
+ 2 => [
+ 'name' => 'City',
+ 'slug' => 'city',
+ 'type' => 'anomaly.field_type.select',
+ "config" => [
+ "options" => [],
+ ]
+ ],
+ 3 => [
+ 'name' => 'District',
+ 'slug' => 'district',
+ 'type' => 'anomaly.field_type.select',
+ "config" => [
+ "options" => [],
+ ]
+ ],
+ 4 => [
+ 'name' => 'Neighborhood',
+ 'slug' => 'neighborhood',
+ 'type' => 'anomaly.field_type.select',
+ "config" => [
+ "options" => [],
+ ]
+ ],
+ 5 => [
+ 'name' => 'Village',
+ 'slug' => 'village',
+ 'type' => 'anomaly.field_type.select',
+ "config" => [
+ "options" => [],
+ ]
+ ],
+ 6 => [
+ 'name' => 'Gsm Phone',
+ 'slug' => 'gsm_phone',
+ 'type' => 'anomaly.field_type.text',
+ ],
+ 7 => [
+ 'name' => 'Land Phone',
+ 'slug' => 'land_phone',
+ 'type' => 'anomaly.field_type.text',
+ ],
+ 8 => [
+ 'name' => 'Office Phone',
+ 'slug' => 'office_phone',
+ 'type' => 'anomaly.field_type.text',
+ ],
+ 9 => [
+ 'name' => 'Register Type',
+ 'slug' => 'register_type',
+ 'type' => 'anomaly.field_type.select',
+ "config" => [
+ "options" => [
+ '1' => trans('visiosoft.module.profile::field.individual.name'),
+ '2' => trans('visiosoft.module.profile::field.corporate.name')
+ ],
+ ]
+ ],
+ 10 => [
+ 'name' => 'Identification Number',
+ 'slug' => 'identification_number',
+ 'type' => 'anomaly.field_type.text',
+ ],
+ 11 => [
+ 'name' => 'Notified New Updates',
+ 'slug' => 'notified_new_updates',
+ 'type' => 'anomaly.field_type.select',
+ 'config' => [
+ 'default_value' => 1,
+ 'options' => [0 => 'Active', 1 => 'Passive'],
+ 'separator' => ':',
+ ]
+ ],
+ 12 => [
+ 'name' => 'Notified About Ads',
+ 'slug' => 'notified_about_ads',
+ 'type' => 'anomaly.field_type.select',
+ 'config' => [
+ 'default_value' => 1,
+ 'options' => [0 => 'Active', 1 => 'Passive'],
+ 'separator' => ':',
+ ]
+ ],
+ 13 => [
+ 'name' => 'Receive Messages Email',
+ 'slug' => 'receive_messages_email',
+ 'type' => 'anomaly.field_type.select',
+ 'config' => [
+ 'default_value' => 1,
+ 'options' => [0 => 'Active', 1 => 'Passive'],
+ 'separator' => ':',
+ ]
+ ],
+ 14 => [
+ 'name' => 'Birthday',
+ 'slug' => 'birthday',
+ 'type' => 'anomaly.field_type.datetime',
+ 'config' => [
+ "mode" => "date",
+ "picker" => true,
+ ]
+ ],
];
- if (isset($customField['config'])) {
- $data['config'] = $customField['config'];
+
+ foreach ($customFields as $customField) {
+ $fields = $fieldRepository
+ ->newQuery()
+ ->where('slug', $customField['slug'])
+ ->where('namespace', $namespace)
+ ->get();
+
+ if ($fields) {
+ foreach ($fields as $field) {
+ $fieldModelTranslation->newQuery()->where('field_id', $field->id)->delete();
+
+ $assignment = $assignmentRepository
+ ->newQuery()
+ ->where('stream_id', $stream->id)
+ ->where('field_id', $field->id)
+ ->first();
+ if ($assignment) {
+ $assignmentModelTranslation->newQuery()->where('assignment_id', $assignment->id)->delete();
+ $assignment->delete();
+ }
+
+ $field->delete();
+ }
+ }
+
+ $data = [
+ 'name' => $customField['name'],
+ 'namespace' => $namespace,
+ 'slug' => $customField['slug'],
+ 'type' => $customField['type'],
+ 'locked' => $locked
+ ];
+ if (isset($customField['config'])) {
+ $data['config'] = $customField['config'];
+ }
+
+ $field = $fieldRepository->create($data);
+
+ $assignmentRepository->create([
+ 'stream_id' => $stream->id,
+ 'field_id' => $field->id
+ ]);
}
-
- $field = $fieldRepository->create($data);
-
- $assignmentRepository->create([
- 'stream_id' => $stream->id,
- 'field_id' => $field->id
- ]);
}
}
}