Form validation

This commit is contained in:
vedatakd 2020-01-10 10:57:08 +03:00
parent 468aec8ca5
commit 9ddb6c7510
21 changed files with 548 additions and 599 deletions

View File

@ -1,14 +0,0 @@
<?php
return [
'profile' => [
'read',
'write',
'delete',
],
'adress' => [
'read',
'write',
'delete',
],
];

View File

@ -0,0 +1,16 @@
<?php
return [
'monitoring' => [
'stacked' => false,
'tabs' => [
'general_setting' => [
'title' => 'visiosoft.module.profile::section.general_setting',
'fields' => [
'show_my_ads', 'upload_avatar'
],
],
],
],
];

View File

@ -0,0 +1,16 @@
<?php
return [
'upload_avatar' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => 1
],
],
'show_my_ads' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => 1
],
],
];

View File

@ -4,4 +4,6 @@ return [
'new_profile' => 'New Profile',
'new_adress' => 'New Adress',
'show' => 'Show Adress',
'update_password' => 'Update Password',
'update_profile' => 'Update Profile',
];

View File

@ -7,4 +7,5 @@ return [
'adress' => [
'title' => 'Adress',
],
'general_setting' => 'General Settings',
];

View File

@ -0,0 +1,10 @@
<?php
return [
'show_my_ads' => [
'name' => 'Show My Ads Tab',
],
'upload_avatar' => [
'name' => 'Avatar Upload',
],
];

View File

@ -1,7 +1,7 @@
<?php
return[
"title" =>"Profil",
"name" =>"Profil Modülü",
"description" =>""
];
return [
'title' => 'Profil',
'name' => 'Profil Modülü',
'description' => 'Profil Modülü'
];

View File

@ -1,7 +1,7 @@
<?php
return[
"new_profile" =>"Yeni profil",
"new_adress" =>"Yeni Adres",
"show" =>"Adresi Göster"
];
return [
'new_profile' => 'Yeni Profil',
'new_adress' => 'Yeni Adres',
'show' => 'Göster',
];

View File

@ -1,533 +1,402 @@
<?php
return[
"file" => [
"name" =>"Fotoğraflar",
return [
'file' => [
'name' => 'Fotoğraflar'
],
"first_name" => [
"name" =>"İsim",
'first_name' => [
'name' => 'İsim'
],
"last_name" => [
"name" =>"Soyadı",
'last_name' => [
'name' => 'Soyisim'
],
"username" => [
"name" =>"Kullanıcı adı",
'username' => [
'name' => 'Kullanıcı Adı'
],
"display_name" => [
"name" =>"Ekran adı",
'display_name' => [
'name' => 'Görüntüleme İsmi'
],
"email" => [
"name" =>"E-posta adresi",
'email' => [
'name' => 'Email Adresi'
],
"sitename" => [
"name" =>"site adı",
'sitename' => [
'name' => 'siteadı'
],
"activated" => [
"name" =>"Kullanıcı aktif",
'activated' => [
'name' => 'Aktif Kullanıcı'
],
"enabled" => [
"name" =>"Kullanıcı Etkinleştir",
'enabled' => [
'name' => 'Kullanıcı Etkinleştir'
],
"country" => [
"name" =>"ülke",
'country' => [
'name' => 'Ülke'
],
"city" => [
"name" =>"Kent",
'city' => [
'name' => 'İl'
],
"district" => [
"name" =>"İlçe",
'district' => [
'name' => 'İlçe'
],
"neighborhood" => [
"name" =>"Komşuluk",
'neighborhood' => [
'name' => 'Mahalle'
],
"village" => [
"name" =>"köy",
'village' => [
'name' => 'Köy'
],
"gsm_phone" => [
"name" =>"GSM Telefon Numarası",
'gsm_phone' => [
'name' => 'GSM Numarası'
],
"land_phone" => [
"name" =>"Arsa Telefon Numarası",
'land_phone' => [
'name' => 'Sabit Telefon'
],
"office_phone" => [
"name" =>"Ofis Telefon Numarası",
'office_phone' => [
'name' => 'Ofis Telefonu'
],
"register_type" => [
"name" =>"Kayıt türü",
'register_type' => [
'name' => 'Üyelik Tipi'
],
"identification_number" => [
"name" =>"Kimlik Numarası",
'identification_number' => [
'name' => 'Kimlik Numarası'
],
"adress_name" => [
"name" =>"Adres İsmi",
'adress_name' => [
'name' => 'Adres Ado'
],
"adress_first_name" => [
"name" =>"İsim",
'adress_first_name' => [
'name' => 'İsim'
],
"adress_last_name" => [
"name" =>"Soyadı",
'adress_last_name' => [
'name' => 'Soyisim'
],
"actions" => [
"name" =>"Eylemler",
'actions' => [
'name' => 'İşlemler'
],
"adress_content" => [
"name" =>"Adres İçeriği",
'adress_content' => [
'name' => 'Adres Detay'
],
"adress_post_code" => [
"name" =>"Posta Kodu",
'adress_post_code' => [
'name' => 'Posta Kodu'
],
"adress_gsm_phone" => [
"name" =>"GSM Telefonu",
'adress_gsm_phone' => [
'name' => 'Gsm Numarası'
],
"adress_land_phone" => [
"name" =>"Sabit telefon",
'adress_land_phone' => [
'name' => 'Sabit Telefon'
],
"adress_country" => [
"name" =>"ülke",
'adress_country' => [
'name' => 'Ülke'
],
"adress_city" => [
"name" =>"Kent",
'adress_city' => [
'name' => 'İl'
],
"adress_district" => [
"name" =>"İlçe",
'adress_district' => [
'name' => 'İlçe'
],
"adress_neighborhood" => [
"name" =>"Komşuluk",
'adress_neighborhood' => [
'name' => 'Mahalle'
],
"adress_village" => [
"name" =>"köy",
'adress_village' => [
'name' => 'Köy'
],
"messages" => [
"name" =>"Mesajlar",
'messages' => [
'name' => 'Mesajlar'
],
"user_no" => [
"name" =>"kullanıcı",
'user_no' => [
'name' => 'Kullanıcı'
],
"menu_profile" => [
"name" =>"Profil",
],
"menu_balance" => [
"name" =>"Denge",
],
"create" => [
"name" =>"yaratmak",
],
"edit" => [
"name" =>"Düzenle",
],
"list" => [
"name" =>"Liste",
/*Menu Button*/
'profile' => [
'name' => 'Profil'
],
"menu_address" => [
"name" =>"Adres",
'menu_balance' => [
'name' => 'Bakiye'
],
"menu_orders" => [
"name" =>"Emirler",
'create' => [
'name' => 'Oluştur'
],
"menu_favorites" => [
"name" =>"Favoriler",
'edit' => [
'name' => 'Düzenle'
],
"menu_archived_ads" => [
"name" =>"Arşivlenmiş ilanlar",
'list' => [
'name' => 'Listele'
],
"menu_pending_ads" => [
"name" =>"Onay bekleyen",
'menu_address' => [
'name' => 'Adres'
],
"menu_delete_account" => [
"name" =>"Hesabı kapat",
'menu_orders' => [
'name' => 'Siparişler'
],
"menu_my_ads" => [
"name" =>"İlanlarım",
'menu_favorites' => [
'name' => 'Favoriler'
],
"menu_fav_ads" => [
"name" =>"Favori İlanlar",
'menu_archived_ads' => [
'name' => 'Arşivlenen İlanlar'
],
"menu_hello_msg" => [
"name" =>"Merhaba",
'menu_pending_ads' => [
'name' => 'Onay Bekleyenler'
],
"menu_last_msg" => [
"name" =>"En son giriş yaptınız",
'menu_delete_account' => [
'name' => 'Hesabı Kapat'
],
"menu_packages" => [
"name" =>"Benim paketleri",
'menu_my_ads' => [
'name' => 'İlanlarım'
],
"menu_adv_packages" => [
"name" =>"İlan Paketleri",
'menu_fav_ads' => [
'name' => 'Favori İlanlarım'
],
"menu_time_packages" => [
"name" =>"Zaman Paketleri",
'menu_hello_msg' => [
'name' => 'Merhaba'
],
"profile_details" => [
"name" =>"profil detayları",
'menu_last_msg' => [
'name' => 'Son giriş zamanı'
],
"profile_photo" => [
"name" =>"Profil resmi",
'menu_packages' => [
'name' => 'Paketlerim'
],
"adv_listing_banner" => [
"name" =>"İlan Listeleme Sayfa Afişi",
'menu_adv_packages' => [
'name' => 'İlan Paketleri'
],
"approve" => [
"name" =>"Onayla",
'menu_time_packages' => [
'name' => 'İlan Süre Paketleri'
],
"approved" => [
"name" =>"onaylı",
'profile_details' => [
'name' => 'Profil Detayları'
],
"pending" => [
"name" =>"kadar",
'profile_photo' => [
'name' => 'Profil Fotoğrafı'
],
"passive" => [
"name" =>"Pasif",
'adv_listing_banner' => [
'name' => 'Listeleme Arkaplanı'
],
"pending_admin" => [
"name" =>"kadar",
'approve' => [
'name' => 'Onayla'
],
"menu_messages" => [
"name" =>"Mesajlar",
'approved' => [
'name' => 'Onaylandı'
],
"menu_my_purchase" => [
"name" =>"Satın Alma İşlemim",
'pending' => [
'name' => 'Onay Sürecinde'
],
"menu_my_sales" => [
"name" =>"Satışlarım",
'passive' => [
'name' => 'Devre Dışı'
],
"right_secure_trading_subject" => [
"name" =>"Güvenli Ticaret",
'pending_admin' => [
'name' => 'Admin Onay Sürecinde'
],
"right_secure_trading_msg" => [
"name" =>"Lorem ipsum dolor amet sitet,
başkası adipisicing elit",
'menu_messages' => [
'name' => 'Mesajlar'
],
"right_support_subject" => [
"name" =>"24/7 Destek",
'menu_my_purchase' => [
'name' => 'Aldıklarım'
],
"right_support_msg" => [
"name" =>"Lorem ipsum dolor amet sitet,
başkası adipisicing elit",
'menu_my_sales' => [
'name' => 'Satışlarım'
],
"right_easy_trading_subject" => [
"name" =>"Kolay Ticaret",
'disable_account' => [
'name' => 'Hesabı Dondur'
],
"right_easy_trading_msg" => [
"name" =>"Lorem ipsum dolor amet sitet,
başkası adipisicing elit",
'disable_account_msg' => [
'name' => 'Hesabınız devre dışı bırakılacak.Bu işlem geri alınamaz'
],
"right_need_help_subject" => [
"name" =>"Yardıma mı ihtiyacınız var?",
],
"right_need_help_msg" => [
"name" =>"Bir çağrı yap",
'message_title' => 'Mesaj Başlığı',
'owner_name' => 'Mesaj',
'favorites' => "Favoriler",
'fav_advs' => 'Favori İlanlar',
'fav_sellers' => "Favori Satıcılar",
'fav_searches' => "Favori Aramalar",
'posted_on' => "Yayınlayan",
'message_details' => "Mesaj Detayı",
'adv_no' => 'İlan Numarası',
'bill_address' => [
'name' => 'Fatura Adresi',
],
"disable_account" => [
"name" =>"Hesabı devre dışı bırak",
'delivery_address' => [
'name' => 'Teslimat Adresi',
],
"disable_account_msg" => [
"name" =>"Hesabınız devre dışı bırakılacak. Bu işlem geri alınamaz",
'order_total' => [
'name' => 'Toplam',
],
"message_title" =>"Mesaj Başlığı",
"owner_name" =>"Mesaj",
"favorites" =>"Favoriler",
"fav_advs" =>"Favori İlanlar",
"fav_sellers" =>"Fav Satıcıları",
"fav_searches" =>"Fav Aramalar",
"posted_on" =>"Yayınlanan",
"message_details" =>"Mesaj Detayları",
"adv_no" =>"İlan No",
"bill_address" => [
"name" =>"Fatura adresi",
'order_date' => [
'name' => 'Sipariş Tarihi',
],
"delivery_address" => [
"name" =>"Teslim adresi",
'order_no' => [
'name' => 'Sipariş Numarası',
],
"order_total" => [
"name" =>"Genel Toplam",
'order_detail' => [
'name' => 'Detaylar',
],
"order_date" => [
"name" =>"Sipariş tarihi",
/*Detail Page Order*/
'detail' => [
'name' => 'Detaylar',
],
"order_no" => [
"name" =>"Sipariş Kimliği",
'back' => [
'name' => 'Geri',
],
"order_detail" => [
"name" =>"Detayları göster",
'image' => [
'name' => 'Resim',
],
"detail" => [
"name" =>"detay",
'subject' => [
'name' => 'Başlık',
],
"back" => [
"name" =>"Geri",
'price' => [
'name' => 'Fiyat',
],
"image" => [
"name" =>"görüntü",
'piece' => [
'name' => 'Adet',
],
"subject" => [
"name" =>"konu",
'commission' => [
'name' => 'Komisyon',
],
"price" => [
"name" =>"Fiyat",
'total' => [
'name' => 'Toplam',
],
"piece" => [
"name" =>"Parça",
'sub_total' => [
'name' => 'Ara Toplam',
],
"commission" => [
"name" =>"komisyon",
'sale' => [
'name' => 'İndirim',
],
"total" => [
"name" =>"Genel Toplam",
'awaiting_tracking_number' => [
'name' => 'Takip Numarası Bekliyor',
],
"sub_total" => [
"name" =>"Ara toplam",
'awaiting_payment_approval' => [
'name' => 'Ödeme Onayını Bekliyor',
],
"sale" => [
"name" =>"Satış",
'paid' => [
'name' => 'Ödendi',
],
"awaiting_tracking_number" => [
"name" =>"Takip Numarası Bekleniyor",
'cancelled' => [
'name' => 'İptal Edildi',
],
"awaiting_payment_approval" => [
"name" =>"Ödeme Onayı Bekleniyor",
'waiting' => [
'name' => 'Bekleniyor',
],
"paid" => [
"name" =>"Ücretli",
'awaiting_dispatch' => [
'name' => 'Teslimat Bekliyor',
],
"cancelled" => [
"name" =>"İptal edildi",
'shipped' => [
'name' => 'Gönderen',
],
"waiting" => [
"name" =>"bekleme",
'delivered' => [
'name' => 'Teslim Alan',
],
"awaiting_dispatch" => [
"name" =>"Sevk Bekliyor",
'tracking_number' => [
'name' => 'Takip Numarası',
],
"shipped" => [
"name" =>"gönderilen",
'was_delivered' => [
'name' => 'teslim edildi',
],
"delivered" => [
"name" =>"teslim",
'not_delivered' => [
'name' => 'teslim edilemedi',
],
"tracking_number" => [
"name" =>"Takip numarası",
'show_order_msg1' => [
'name' => 'İşlem sonucu mail ile bildirilecektir.',
],
"was_delivered" => [
"name" =>"teslim edildi",
'show_order_msg2' => [
'name' => 'Ürün bir hafta içinde teslim edilmezse geri ödeme yapılacaktır.',
],
"not_delivered" => [
"name" =>"teslim edilmedi",
'show_order_msg3' => [
'name' => 'İşlemin sonucu kayıtlı e-posta adresinize gönderildi.',
],
"show_order_msg1" => [
"name" =>"İşlem sonucu posta ile bildirilecektir.",
'awaiting_payment' => [
'name' => 'Ödeme Bekliyor',
],
"show_order_msg2" => [
"name" =>"Ürün bir hafta içinde teslim edilmezse geri ödeme yapılır.",
'please_entered_tracking_number' => [
'name' => 'Lütfen Girilen Takip Numarasını Giriniz',
],
"show_order_msg3" => [
"name" =>"İşlem sonucu kayıtlı e-posta adresinize gönderildi.",
'transport_days' => [
'name' => 'Teslimat Süresi',
],
"awaiting_payment" => [
"name" =>"bekleyen ödeme",
'product_not_delivered' => [
'name' => 'Ürün teslim edilemedi.',
],
"please_entered_tracking_number" => [
"name" =>"Lütfen Takip Numarasını Giriniz",
'status' => [
'name' => 'Durum',
],
"transport_days" => [
"name" =>"Ulaşım Günleri",
'cancel_sale' => [
'name' => 'Satışı İptal Et',
],
"product_not_delivered" => [
"name" =>"Ürün teslim edilmedi",
'send_again' => [
'name' => 'Tekrar Gönderildi',
],
"status" => [
"name" =>"durum",
'content' => [
'name' => 'Detay',
],
"cancel_sale" => [
"name" =>"Satışı İptal Et",
'preferences_settings' => [
'name' => 'Tercihler',
],
"send_again" => [
"name" =>"Tekrar göndereceğim",
],
"content" => [
"name" =>"içerik",
'corporate_settings' => [
'name' => 'Kurumsal Ayarlar',
],
"preferences_settings" => [
"name" =>"Tercihler Ayarları",
'password' => [
'name' => 'Şifre',
],
"corporate_settings" => [
"name" =>"Kurumsal Ayarlar",
'new_password' => [
'name' => 'Yeni Şifre',
],
"change_password" => [
"name" =>"Şifre değiştir",
're_new_password' => [
'name' => 'Şifre Onayı',
],
"new_password" => [
"name" =>"Yeni Şifre",
'confirm_password_input' => [
'name' => 'Şifremin değiştirilmesini onaylıyorum',
],
"re_new_password" => [
"name" =>"Şifreyi Onayla",
'create_address' => [
'name' => 'Adres Oluştur',
],
"confirm_password_input" => [
"name" =>"Şifre değişikliğimi onaylıyorum",
'edit_address' => [
'name' => 'Adres Düzenle',
],
"create_address" => [
"name" =>"Adres Oluştur",
'balance_limit' => [
'name' => 'Bakiye',
],
"balance_limit" => [
"name" =>"Bakiye Sınırı",
'active_ads' => [
'name' => 'Aktif İlanlar',
],
"active_ads" => [
"name" =>"Aktif İlanlar",
'subscriptions' => [
'name' => 'Abonelikler',
],
"subscriptions" => [
"name" =>"Abonelikler",
'go_subscriptions_page' => [
'name' => 'Aboneliklere git',
],
"go_subscriptions_page" => [
"name" =>"Abonelikler Sayfasına Git",
'buy_package' => [
'name' => 'Paket Satın Al',
],
"buy_package" => [
"name" =>"Paket satın al",
'expired_date' => [
'name' => 'Son Kullanım',
],
"expired_date" => [
"name" =>"Son kullanma tarihi geçmiş",
'category' => [
'name' => 'Kategori',
],
"category" => [
"name" =>"Kategori",
'ad_limit' => [
'name' => 'İlan Limiti',
],
"ad_limit" => [
"name" =>"İlan Sınırı",
'publish_time' => [
'name' => 'Yayın Süresi',
],
"publish_time" => [
"name" =>"Yayınlanma Zamanı",
'all_categories' => [
'name' => 'Tüm Kategoriler',
],
"all_categories" => [
"name" =>"Tüm Kategoriler",
'day' => [
'name' => 'Gün',
],
"day" => [
"name" =>"Gün",
'individual' => [
'name' => 'Bireysel',
],
];
'corporate' => [
'name' => 'Kurumsal',
],
'details' => [
'name' => 'Detaylar'
],
];

View File

@ -1,23 +1,22 @@
<?php
return[
"email" =>"E-Posta Alanınız Zorunlu!",
"username" =>"Kullanıcı Adı Alan Zorunlu!",
"success_update" =>"Profil Güncellemesi Başarıyla!",
"adress_success_update" =>"Adres Güncelleme Başarıyla!",
"adress_success_create" =>"Adres Başarıyla Oluşturuldu!",
"login_error" =>"Yanlış giriş veya şifre.",
"login_noMail_old_user" =>"Girdiğiniz e-posta adresi bulunamadı.",
"login_noMail_old_user2" =>"Lütfen e-posta adresini kontrol edip tekrar deneyin.",
"login_noMail_old_user3" =>"Sorun devam ederse,
lütfen \'info@openclassify.com\' adresinden iletişim kurun.",
"login_info_old_user" =>"E-posta adresinize yeni bir şifre gönderildi.",
"success" =>"Başarılı",
"notified_new_updates" =>"Yeni güncellemelerden haberdar olmak istiyorum",
"notified_about_ads" =>"İlanlarım hakkında bildirimlere izin ver",
"receive_messages_email" =>"Mesajları e-posta olarak almak istiyorum.",
"no_packages_module" =>"Paket Modülü Yok!",
"required_add" =>"Lütfen gerekli tüm satırları doldurunuz.",
"no_extend_package" =>"İlan Paketlerini Genişletme",
"saved" =>"Kaydedilen!"
];
return [
"email" => "Eposta alanı zorunludur!",
"username" => "Kullanıcı Adı alanı zorunludur!",
"success_update" => "Profil Başarıyla Güncellendi!",
"adress_success_update" => "Adres Başarıyla Güncellendi!",
"adress_success_create" => "Adres Başarıyla Oluşturuldu!",
"login_error" => "Giriş Bilgileri Hatalıdır.",
"login_noMail_old_user" => "Girdiğiniz e-posta adresi bulunamadı.",
"login_noMail_old_user2" => "Lütfen e-posta adresini kontrol edip tekrar deneyin.",
"login_noMail_old_user3" => "Sorun devam ederse, lütfen 'info@openclassify.com' adresinden iletişim kurun.",
"login_info_old_user" => "E-posta adresinize yeni bir şifre gönderildi.",
"success" => "İşlem Başarılı",
"no_packages_module" => "Paket Modülü Bulunamadı!",
"required_add" => "Lütfen gerekli tüm satırları doldurun.",
"no_extend_package" => "İlan Yayınlama Süresi paketiniz bulunamadı.",
"saved" => "Kayıt Edildi!",
'please_confirm_transaction' => 'Lütfen işlemi onaylayın',
'password_do_not_match' => 'Şifreler eşleşmiyor',
'your_password_changed' => 'Şifreniz başarıyla güncellendi',
];

View File

@ -1,24 +0,0 @@
<?php
return[
"profile" => [
"name" =>"Profil",
"option" => [
"read" =>"Profili okuyabilir mi? ",
"write" =>"Profil oluşturabilir / düzenleyebilir mi? ",
"delete" =>"Profili silebilir miyim?"
],
],
"adress" => [
"name" =>"Adres",
"option" => [
"read" =>"Adresleri okuyabilir miyim? ",
"write" =>"Adres oluşturabilir / düzenleyebilir mi? ",
"delete" =>"Adresini silebilir miyim?",
],
],
];

View File

@ -1,13 +1,11 @@
<?php
return[
"profile" => [
"title" =>"Profil",
],
"adress" => [
"title" =>"Adres",
],
];
return [
'profile' => [
'title' => 'Profil',
],
'adress' => [
'title' => 'Adres',
],
'general_setting' => 'Genel Ayarlar',
];

View File

@ -0,0 +1,10 @@
<?php
return [
'show_my_ads' => [
'name' => 'İlanlarım Sekmesi Görünümü',
],
'upload_avatar' => [
'name' => 'Profil Fotoğrafı',
],
];

View File

@ -1,13 +1,10 @@
<?php
return[
"profile" => [
"name" =>"Profil",
],
"adress" => [
"name" =>"Adres",
],
];
return [
'profile' => [
'name' => 'Profil',
],
'adress' => [
'name' => 'Adres',
],
];

View File

@ -18,10 +18,12 @@
<div class="col-md-4 p-5">
<div class="row">
<div class="col-md-12 text-center align-middle">
<img src="{{ profile_photo }}" class="img-responsive w-100"
style="max-width: 150px">
</div>
{% if setting_value('visiosoft.module.profile::upload_avatar') %}
<div class="col-md-12 text-center align-middle">
<img src="{{ profile_photo }}" class="img-responsive w-100"
style="max-width: 150px">
</div>
{% endif %}
<div class="col-md-12 text-center align-middle text-white p-2 text-truncate">
<h3>{{ user().first_name }} {{ user().last_name }}</h3>
<small>{{ auth_user().last_login_at|date("d/m/Y H:i:s") }}</small>
@ -36,105 +38,136 @@
<!-- User Profile Form Section-->
<div class="col-md-12 mt-5 bg-light profile-section">
<nav>
<nav>
<div class="nav nav-tabs nav-fill" id="nav-tab" role="tablist">
<a class="nav-item nav-link active text-dark" id="nav-detail-tab" data-toggle="tab"
href="#nav-detail"
role="tab" aria-controls="nav-detail" aria-selected="true">Detail</a>
<a class="nav-item nav-link active text-dark" id="nav-profile-tab" data-toggle="tab"
href="#nav-profile"
role="tab" aria-controls="nav-profile" aria-selected="true">
{{ trans('visiosoft.module.profile::field.profile.name') }}
</a>
<a class="nav-item nav-link text-dark" id="nav-details-tab" data-toggle="tab"
href="#nav-details"
role="tab" aria-controls="nav-details" aria-selected="false">
{{ trans('visiosoft.module.profile::field.details.name') }}
</a>
<a class="nav-item nav-link text-dark" id="nav-password-tab" data-toggle="tab"
href="#nav-password"
role="tab" aria-controls="nav-password" aria-selected="false">Password</a>
<a class="nav-item nav-link text-dark" id="nav-other-tab" data-toggle="tab"
href="#nav-other"
role="tab" aria-controls="nav-other" aria-selected="false">Other</a>
role="tab" aria-controls="nav-password" aria-selected="false">
{{ trans('visiosoft.module.profile::field.password.name') }}
</a>
</div>
</nav>
{% set form = form('profile', 'profile').redirect('/profile/home').entry(profiles.id).actions(['update']).get() %}
{{ form_open({
'class': 'form ' ~ form.options.class ,
'enctype': 'multipart/form-data',
'data-name': 'profile',
'url': 'profile/update'
})|raw }}
<div class="tab-content py-3 px-3 px-sm-0" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-detail" role="tabpanel"
aria-labelledby="nav-detail-tab">
<div class="form-group">
{{ form.fields.file|raw }}
<div class="tab-pane fade show active" id="nav-profile" role="tabpanel"
aria-labelledby="nav-profile-tab">
<div class="col-12">
{% set userForm = form('userProfile').entry(auth_user().id).get() %}
{{ userForm.open()|raw }}
<div class="form-group">
<label class="control-label font-weight-bold">
{{ trans("visiosoft.module.profile::field.first_name.name") }}
</label>
{{ userForm.fields.first_name.input|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">
{{ trans("visiosoft.module.profile::field.last_name.name") }}
</label>
{{ userForm.fields.last_name.input|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">
{{ trans("visiosoft.module.profile::field.email.name") }}
</label>
<input value="{{ auth_user().email }}" type="text" disabled class="form-control">
</div>
<div class="form-group">
{{ userForm.actions|raw }}
</div>
{{ userForm.close()|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.first_name.name") }}</label>
{{ users.first_name.input|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.last_name.name") }}</label>
{{ users.last_name.input|raw }}
</div>
<div class="form-group required-profile-phone-field">
<label class="control-label font-weight-bold">{{ form.fields.gsm_phone.label }}</label>
<input type="text" class="form-control" id="phone"
value="{{ profiles.gsm_phone.value }}" name="gsm_phone">
</div>
<div class="form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.email.name") }}</label>
<input type="email" value="{{ users.email }}" name="email" placeholder=""
class="form-control"
data-field="email" data-field_name="email"
data-provides="anomaly.field_type.email" disabled>
</div>
<div class="form-group">
{{ form.actions|raw }}
</div>
<div class="tab-pane fade" id="nav-details" role="tabpanel"
aria-labelledby="nav-details-tab">
<div class="col-12">
{% set profileForm = form('profile').entry(profiles.id).get() %}
{{ profileForm.open()|raw }}
{% if setting_value('visiosoft.module.profile::upload_avatar') %}
<div class="form-group">
{{ profileForm.fields.file|raw }}
</div>
{% endif %}
<div class="form-group required-profile-phone-field">
<label class="control-label font-weight-bold">
{{ profileForm.fields.gsm_phone.label }}
</label>
{{ profileForm.fields.gsm_phone.input|raw }}
</div>
<div class="form-group required-profile-phone-field">
<label class="control-label font-weight-bold">
{{ profileForm.fields.office_phone.label }}
</label>
{{ profileForm.fields.office_phone.input|raw }}
</div>
<div class="form-group required-profile-phone-field">
<label class="control-label font-weight-bold">
{{ profileForm.fields.land_phone.label }}
</label>
{{ profileForm.fields.land_phone.input|raw }}
</div>
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.adv_listing_banner.name") }}</label>
{{ profileForm.fields.adv_listing_banner.input|raw }}
</div>
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.identification_number.name") }}</label>
{{ profileForm.fields.identification_number.input|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.register_type.name") }}</label>
{{ profileForm.fields.register_type.input|raw }}
</div>
<div class="form-group">
{{ profileForm.actions|raw }}
</div>
{{ profileForm.close()|raw }}
</div>
</div>
<div class="tab-pane fade" id="nav-password" role="tabpanel" aria-labelledby="nav-password-tab">
{% set passwordForm = form('updatePassword').get() %}
{{ passwordForm.open()|raw }}
<div class="form-group">
<label class="font-weight-bold">{{ trans("visiosoft.module.profile::field.new_password.name") }}</label>
<input type="password" name="new_password" class="form-control">
{{ passwordForm.fields.new_password.input|raw }}
</div>
<div class="form-group">
<label class="font-weight-bold">{{ trans("visiosoft.module.profile::field.re_new_password.name") }}</label>
<input type="password" name="re_new_password" class="form-control">
</div>
<div class="form-group confirm-password-field">
<i class="fa fa-warning"></i>
<input type="checkbox" name="confirm_password_input">
<label>{{ trans("visiosoft.module.profile::field.confirm_password_input.name") }}
.</label>
</div>
<div class="form-group">
{{ form.actions|raw }}
</div>
</div>
<div class="tab-pane fade" id="nav-other" role="tabpanel" aria-labelledby="nav-other-tab">
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.adv_listing_banner.name") }}</label>
{{ form.fields.adv_listing_banner.input|raw }}
</div>
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.identification_number.name") }}</label>
{{ profiles.identification_number.input|raw }}
</div>
<div class="form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.register_type.name") }}</label>
{{ profiles.register_type.input|raw }}
</div>
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.office_phone.name") }}</label>
{{ profiles.office_phone.input|raw }}
</div>
<div class=" form-group">
<label class="control-label font-weight-bold">{{ trans("visiosoft.module.profile::field.land_phone.name") }}</label>
{{ profiles.land_phone.input|raw }}
</div>
<div class="form-group">
{{ form.actions|raw }}
{{ passwordForm.fields.re_new_password.input|raw }}
</div>
<div class="form-group confirm-password-field row pl-3">
{{ passwordForm.fields.confirm_password|raw }}
<div class="col-10">
<label>
{{ trans("visiosoft.module.profile::field.confirm_password_input.name") }}.
</label>
</div>
</div>
<div class="form-group">
{{ passwordForm.actions|raw }}
</div>
</div>
{{ passwordForm.close|raw }}
</div>
<!-- User Profile Form Section-->

View File

@ -120,36 +120,6 @@ class MyProfileController extends PublicController
'mySales', 'advs_count', 'fav_count', 'userbalance', 'balancespackage'));
}
public function update(ProfileFormBuilder $form, Request $request, UserPassword $userPassword, ProfileRepositoryInterface $profileRepository)
{
$id = Auth::id();
$all = $request->all();
//updateUserFields && remove added fields
$all = $profileRepository->updateUserField($all);
if (isset($all['confirm_password_input']) and $all['confirm_password_input'] == "on") {
$all = $profileRepository->changePassword($all, $userPassword);
} else {
unset($all['new_password'], $all['re_new_password'], $all['confirm_password_input']);
}
if (isset($all['error'])) {
return redirect('/profile')->with('error', $all['error']);
}
unset($all['_token'], $all['action']);
$all['file_id'] = $all['file'];
if (isset($all['adv_listing_banner'])) {
$all['adv_listing_banner_id'] = $all['adv_listing_banner'];
unset($all['adv_listing_banner']);
}
unset($all['file']);
$profileModel = new ProfileModel();
$profileModel->getProfile($id)->update($all);
$message = [];
$message[] = trans('visiosoft.module.profile::message.success_update');
return redirect('/profile')->with('success', $message);
}
public function extendAds($id, $type, SettingRepositoryInterface $settings)
{

View File

@ -17,4 +17,6 @@ interface ProfileRepositoryInterface extends EntryRepositoryInterface
public function changePassword($fields, $password);
public function findByUserID($id);
public function CheckPhoneNumber($phoneNumber);
}

View File

@ -6,6 +6,7 @@ use Anomaly\UsersModule\User\Password\Command\StartPasswordReset;
use Anomaly\UsersModule\User\Password\ForgotPasswordFormHandler;
use Anomaly\UsersModule\User\UserModel;
use Anomaly\UsersModule\User\UserPassword;
use function CoffeeScript\t;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Redirect;
@ -129,5 +130,13 @@ class ProfileRepository extends EntryRepository implements ProfileRepositoryInte
return $this->model->where('user_no_id', $id)->first();
}
public function CheckPhoneNumber($phoneNumber)
{
return $this->model
->where('gsm_phone', $phoneNumber)
->where('user_no_id','!=', Auth::id())
->first();
}
}

View File

@ -0,0 +1,26 @@
<?php namespace Visiosoft\ProfileModule\Profile\User;
use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
use Anomaly\UsersModule\User\UserModel;
class UserFormBuilder extends FormBuilder
{
protected $model = UserModel::class;
protected $fields = [
'first_name' => [
'required' => true,
],
'last_name' => [
'required' => true,
],
];
protected $actions = [
'update' => [
'text' => 'visiosoft.module.profile::button.update_profile'
],
];
}

View File

@ -0,0 +1,23 @@
<?php namespace Visiosoft\ProfileModule\Profile\User;
use Anomaly\Streams\Platform\Message\MessageBag;
use Anomaly\UsersModule\User\UserModel;
use Illuminate\Support\Facades\Auth;
class UserFormHandler
{
public function handle(
UserFormBuilder $builder,
MessageBag $messages,
UserModel $userModel
)
{
if (!$builder->canSave()) {
return;
}
$userModel->find(Auth::id())
->update($builder->getPostData());
$messages->success(trans('visiosoft.module.profile::message.success_update'));
}
}

View File

@ -7,12 +7,15 @@ use Visiosoft\ProfileModule\Adress\AdressRepository;
use Anomaly\Streams\Platform\Model\Profile\ProfileAdressEntryModel;
use Visiosoft\ProfileModule\Adress\AdressModel;
use Visiosoft\ProfileModule\Profile\Contract\ProfileRepositoryInterface;
use Visiosoft\ProfileModule\Profile\Password\PasswordFormBuilder;
use Visiosoft\ProfileModule\Profile\Profile\ProfileFormBuilder;
use Visiosoft\ProfileModule\Profile\ProfileRepository;
use Anomaly\Streams\Platform\Model\Profile\ProfileProfileEntryModel;
use Visiosoft\ProfileModule\Profile\ProfileModel;
use Illuminate\Routing\Router;
use Visiosoft\ProfileModule\Profile\Register2\Register2FormBuilder;
use Visiosoft\ProfileModule\Profile\sites\SitesFormBuilder;
use Visiosoft\ProfileModule\Profile\User\UserFormBuilder;
class ProfileModuleServiceProvider extends AddonServiceProvider
{
@ -169,6 +172,9 @@ class ProfileModuleServiceProvider extends AddonServiceProvider
* @type array|null
*/
protected $bindings = [
'updatePassword' => PasswordFormBuilder::class,
'userProfile' => UserFormBuilder::class,
'profile' => ProfileFormBuilder::class,
ProfileAdressEntryModel::class => AdressModel::class,
ProfileProfileEntryModel::class => ProfileModel::class,
];