Merge branch 'master' into web-vital-v2
This commit is contained in:
commit
243c46441f
|
|
@ -2,6 +2,190 @@
|
|||
|
||||
This changelog consists of the bug & security fixes and new features being included in the releases listed below.
|
||||
|
||||
## **v1.3.2 (6th of August 2021)** - *Release*
|
||||
|
||||
* #5020 [feature] - Webvital score improvement.
|
||||
|
||||
* #4855 [feature] - Autofilling of quantity.
|
||||
|
||||
* #4632 [feature] - Gooogle captcha integration.
|
||||
|
||||
* #4557 [feature] - Feature for sorting product review at customer's end.
|
||||
|
||||
* #4463 [feature] - Show prices with or without taxes.
|
||||
|
||||
* #4257 [feature] - Multi-lang support in admin.
|
||||
|
||||
* #4102 [feature] - Payment history for orders.
|
||||
|
||||
* #3477 [feature] - Image column in configurable products for variants.
|
||||
|
||||
* #4927 [enhancement] - Allow the admin to set a payment term for invoices.
|
||||
|
||||
* #4926 [enhancement] - Allow admin to set an invoice prefix and the first invoice number.
|
||||
|
||||
* #4911 [enhancement] - Default variant selection for configurable product.
|
||||
|
||||
* #4901 [enhancement] - Configurable product addition issue.
|
||||
|
||||
* #4449 [enhancement] - Laravel 8 Support
|
||||
|
||||
* #3834 [enhancement] - Ability to use multiple datagrids on single page.
|
||||
|
||||
* #3251 [enhancement] - Add orders list to the customers details view.
|
||||
|
||||
* #5033 [fixed] - Order status options after invoice generation on payment methods.
|
||||
|
||||
* #5029 [fixed] - Header menu content list layout need to fix.
|
||||
|
||||
* #5027 [fixed] - Fix customer account menu visibility in safari browser.
|
||||
|
||||
* #5018 [fixed] - Invoice ID is not recognized in transactions when invoice id contains custom prefix/suffix.
|
||||
|
||||
* #5013 [fixed] - No warning visible when user password doesn't match on the reset password page.
|
||||
|
||||
* #5011 [fixed] - Admin filter options are not working in Safari.
|
||||
|
||||
* #4992 [fixed] - Products image are getting stretch on search page.
|
||||
|
||||
* #4989 [fixed] - In sales, the module that creates refund subtotal is showing different.
|
||||
|
||||
* #4977 [fixed] - Configurable products are not visible on the category page if allow out of stock is disabled.
|
||||
.
|
||||
* #4969 [fixed] - Muliselect attribute options ID should not visible in compare product.
|
||||
|
||||
* #4965 [fixed] - Filter labels in datagrids are not translated.
|
||||
|
||||
* #4964 [fixed] - Search icon is missing in velocity theme Datagrid.
|
||||
|
||||
* #4963 [fixed] - French locale translations are missing.
|
||||
|
||||
* #4962 [fixed] - Able to access downloadable products even I have not purchased.
|
||||
|
||||
* #4960 [fixed] - The invoice date is missing on invoices.
|
||||
|
||||
* #4959 [fixed] - Getting exception when merging guest cart with customer cart with the configurable item.
|
||||
|
||||
* #4951 [fixed] - Real-time compare number is not decreased when deleting a product from compare page.
|
||||
|
||||
* #4948 [fixed] - Translation issue for the minimum order at cart checkout.
|
||||
|
||||
* #4947 [fixed] - Getting all invoices (that are not linked to customer or customer's order) in the customer section in the admin panel.
|
||||
|
||||
* #4941 [fixed] - The locale option should be visible with fields that are locale-based.
|
||||
|
||||
* #4935 [fixed] - Slider is not removed from the store if slider date gets expired.
|
||||
|
||||
* #4931 [fixed] - Root category name is missing when admin locale is not en.
|
||||
|
||||
* #4924 [fixed] - The coupon code button should not disable if one coupon code is already applied.
|
||||
|
||||
* #4921 [fixed] - Flag icons are missing when the locale is not en.
|
||||
|
||||
* #4903 [fixed] - Contribution guide is missing.
|
||||
|
||||
* #4896 [fixed] - Group product sort order functionality is not working.
|
||||
|
||||
* #4886 [fixed] - Make Sample optional for downloadable products.
|
||||
|
||||
* #4885 [fixed] - Hide shipping for virtual products
|
||||
|
||||
* #4854 [fixed] - Filtering customer address page is always redirect to the customer profile tab.
|
||||
|
||||
* #4848 [fixed] - Fix selected filter options alignment at customer panel.
|
||||
|
||||
* #4847 [fixed] - Add ACL for customer order list.
|
||||
|
||||
* #4840 [fixed] - Pagination alignment issue on customer end.
|
||||
|
||||
* #4827 [fixed] - Shop by category disappears on hover.
|
||||
|
||||
* #4823 [fixed] - UI bug at customer Invoice page if multiple invoices exist for same order id.
|
||||
|
||||
* #4818 [fixed] - Getting qty error when move item to cart from the wishlist.
|
||||
|
||||
* #4813 [fixed] - Compare product in velocity theme showing duplicated attribute after adding a new attribute family.
|
||||
|
||||
* #4811 [fixed] - Getting error when redirect on review page.
|
||||
|
||||
* #4807 [fixed] - Category logo icon is missing in API.
|
||||
|
||||
* #4806 [fixed] - Not able to see the configurable products in the API.
|
||||
|
||||
* #4804 [fixed] - The city field is missing in order confirmation emails.
|
||||
|
||||
* #4800 [fixed] - Filter is not working in customer grid.
|
||||
|
||||
* #4799 [fixed] - Product image resizing.
|
||||
|
||||
* #4794 [fixed] - Admin logo is getting hidden when scrolling down the menu bar.
|
||||
|
||||
* #4779 [fixed] - Image search is not working when out of stock is disabled.
|
||||
|
||||
* #4773 [fixed] - Category condition is not getting set in catalog rule.
|
||||
|
||||
* #4771 [fixed] - Datetime component should be enhanced as date component in UI package.
|
||||
|
||||
* #4758 [fixed] - Bug when adding an item twice in the cart from the API.
|
||||
|
||||
* #4752 [fixed] - Add endpoints for transactions API Done Enhancement.
|
||||
|
||||
* #4751 [fixed] - The sidebar menu icon should be removed from admin.
|
||||
|
||||
* #4748 [fixed] - Address is not saved on checkout.
|
||||
|
||||
* #4735 [fixed] - Price filter issue.
|
||||
|
||||
* #4730 [fixed] - All products are getting deleted when the associated category is deleted.
|
||||
|
||||
* #4729 [fixed] - Products do not exist inside a category, still they are visible on the category page.
|
||||
|
||||
* #4727 [fixed] - Error `addToCartHtml` is not defined on the compare page.
|
||||
|
||||
* #4722 [fixed] - Getting exception on wishlist when adding a configurable item on wishlist.
|
||||
|
||||
* #4715 [fixed] - Product name is breaking in invoice PDF.
|
||||
|
||||
* #4713 [fixed] - Paypal IPN Issue Fixed - SA6.
|
||||
|
||||
* #4710 [fixed] - Fixed currencies "value"s and "phone" fields formated for API.
|
||||
|
||||
* #4709 [fixed] - Getting exception when update inactive item on cart.
|
||||
|
||||
* #4708 [fixed] - Getting issue while selecting variant with no image.
|
||||
|
||||
* #4707 [fixed] - Fixed admin theme not loading with custom admin URL.
|
||||
|
||||
* #4702 [fixed] - Issue during exporting customers data.
|
||||
|
||||
* #4698 [fixed] - Category slug should not translation based.
|
||||
|
||||
* #4691 [fixed] - Distorted image issue.
|
||||
|
||||
* #4690 [fixed] - Variant images are not visible in a sorted manner as uploaded in the backend.
|
||||
|
||||
* #4686 [fixed] - Configurable item is still visible on the search page when out of stock is disabled.
|
||||
|
||||
* #4685 [fixed] - Blank space remains on the homepage when disabling out-of-stock items from the backend.
|
||||
|
||||
* #4682 [fixed] - Catalog rules and product price filter.
|
||||
|
||||
* #4680 [fixed] - Check out page extremely slow.
|
||||
|
||||
* #4677 [fixed] - API addresses, returns an error on create + not all fields are manipulated API.
|
||||
|
||||
* #4668 [fixed] - Customer profile header is missing in responsive view.
|
||||
|
||||
* #4564 [fixed] - Getting exception on admin interface when setup using webinstaller.
|
||||
|
||||
* #4519 [fixed] - Tax should not be state or Pincode-dependent. It should be product category-dependent.
|
||||
|
||||
* #3902 [fixed] - Duplicate order number getting generated when placed order simultaneously.
|
||||
|
||||
* #3453 [fixed] - Invoice state is always set to paid.
|
||||
|
||||
* #3196 [fixed] - L x W x H/D on product description.
|
||||
|
||||
## **v1.3.1 (22nd of February 2021)** - *Release*
|
||||
|
||||
* #4659 [fixed] - Only show defaults option in Shipping.
|
||||
|
|
|
|||
|
|
@ -970,11 +970,11 @@ return [
|
|||
'create-btn-title' => 'اضف عنوان',
|
||||
'save-btn-title' => 'حفظ العنوان',
|
||||
'general' => 'جنرال لواء',
|
||||
'success-create' => 'تم إنشاء عنوان العميل بنجاح Success:',
|
||||
'success-update' => 'تم تحديث عنوان العميل بنجاح Success:',
|
||||
'success-delete' => 'تم حذف عنوان العميل بنجاح Success:',
|
||||
'success-mass-delete' => 'تم حذف العناوين المحددة بنجاح Success:',
|
||||
'error-create' => 'لم يتم إنشاء عنوان العميل Error:',
|
||||
'success-create' => 'تم إنشاء عنوان العميل بنجاح',
|
||||
'success-update' => 'تم تحديث عنوان العميل بنجاح',
|
||||
'success-delete' => 'تم حذف عنوان العميل بنجاح',
|
||||
'success-mass-delete' => 'تم حذف العناوين المحددة بنجاح',
|
||||
'error-create' => 'لم يتم إنشاء عنوان العميل',
|
||||
],
|
||||
|
||||
'note' => [
|
||||
|
|
|
|||
|
|
@ -978,11 +978,11 @@ return [
|
|||
'create-btn-title' => 'Add Address',
|
||||
'save-btn-title' => 'Save Address',
|
||||
'general' => 'General',
|
||||
'success-create' => 'Success: Customer address created successfully.',
|
||||
'success-update' => 'Success: Customer address updated successfully.',
|
||||
'success-delete' => 'Success: Customer address deleted successfully.',
|
||||
'success-mass-delete' => 'Success: selected addresses deleted successfully.',
|
||||
'error-create' => 'Error: Customer address not created.',
|
||||
'success-create' => 'Customer address created successfully.',
|
||||
'success-update' => 'Customer address updated successfully.',
|
||||
'success-delete' => 'Customer address deleted successfully.',
|
||||
'success-mass-delete' => 'Selected addresses deleted successfully.',
|
||||
'error-create' => 'Customer address not created.',
|
||||
],
|
||||
|
||||
'note' => [
|
||||
|
|
|
|||
|
|
@ -966,10 +966,10 @@ return [
|
|||
'create-btn-title' => 'اضافه کردن آدرس',
|
||||
'save-btn-title' => 'ذخیره آدرس',
|
||||
'general' => 'عمومی',
|
||||
'success-create' => 'آدرس مشتری با موفقیت ایجاد شد Success:',
|
||||
'success-update' => 'آدرس مشتری با موفقیت به روز شد Success:',
|
||||
'success-delete' => 'آدرس مشتری با موفقیت حذف شد Success:',
|
||||
'success-mass-delete' => 'آدرس های انتخاب شده با موفقیت حذف شدند Success:',
|
||||
'success-create' => 'آدرس مشتری با موفقیت ایجاد شد ',
|
||||
'success-update' => 'آدرس مشتری با موفقیت به روز شد ',
|
||||
'success-delete' => 'آدرس مشتری با موفقیت حذف شد ',
|
||||
'success-mass-delete' => 'آدرس های انتخاب شده با موفقیت حذف شدند ',
|
||||
'error-create' => 'آدرس مشتری ایجاد نشده است Error:',
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -972,11 +972,11 @@ return [
|
|||
'create-btn-title' => 'Aggiungi Indirizzo',
|
||||
'save-btn-title' => 'Salva Indirizzo',
|
||||
'general' => 'Generale',
|
||||
'success-create' => 'Success: Indirizzo cliente creato con successo.',
|
||||
'success-update' => 'Success: Indirizzo cliente aggiornato con successo.',
|
||||
'success-delete' => 'Success: Indirizzo cliente eliminato con successo.',
|
||||
'success-mass-delete' => 'Success: indirizzi selezionati eliminati con successo.',
|
||||
'error-create' => 'Error: Indirizzo cliente non creato.',
|
||||
'success-create' => 'Indirizzo cliente creato con successo.',
|
||||
'success-update' => 'Indirizzo cliente aggiornato con successo.',
|
||||
'success-delete' => 'Indirizzo cliente eliminato con successo.',
|
||||
'success-mass-delete' => 'indirizzi selezionati eliminati con successo.',
|
||||
'error-create' => 'Indirizzo cliente non creato.',
|
||||
],
|
||||
|
||||
'note' => [
|
||||
|
|
|
|||
|
|
@ -967,10 +967,10 @@ return [
|
|||
'create-btn-title' => 'Adres toevoegen',
|
||||
'save-btn-title' => 'Bewaar adres',
|
||||
'general' => 'Algemeen',
|
||||
'success-create' => 'Success: Klantadres succesvol aangemaakt.',
|
||||
'success-update' => 'Success: Klantadres succesvol bijgewerkt.',
|
||||
'success-delete' => 'Success: Klantadres succesvol verwijderd.',
|
||||
'success-mass-delete' => 'Success: geselecteerde adressen zijn succesvol verwijderd.',
|
||||
'success-create' => 'Klantadres succesvol aangemaakt.',
|
||||
'success-update' => 'Klantadres succesvol bijgewerkt.',
|
||||
'success-delete' => 'Klantadres succesvol verwijderd.',
|
||||
'success-mass-delete' => 'geselecteerde adressen zijn succesvol verwijderd.',
|
||||
'error-create' => 'Error: Klantadres niet aangemaakt.',
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -969,10 +969,10 @@ return [
|
|||
'create-btn-title' => 'Adicionar endereço',
|
||||
'save-btn-title' => 'Salvar endereço',
|
||||
'general' => 'Geral',
|
||||
'success-create' => 'Success: Endereço do cliente criado com sucesso.',
|
||||
'success-update' => 'Success: Endereço do cliente atualizado com sucesso.',
|
||||
'success-delete' => 'Success: Endereço do cliente excluído com sucesso.',
|
||||
'success-mass-delete' => 'Success: endereços selecionados excluídos com sucesso.',
|
||||
'success-create' => 'Endereço do cliente criado com sucesso.',
|
||||
'success-update' => 'Endereço do cliente atualizado com sucesso.',
|
||||
'success-delete' => 'Endereço do cliente excluído com sucesso.',
|
||||
'success-mass-delete' => 'endereços selecionados excluídos com sucesso.',
|
||||
'error-create' => 'Error: Endereço do cliente não criado.',
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ namespace Webkul\Marketing\Helpers;
|
|||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Webkul\Marketing\Repositories\EventRepository;
|
||||
use Webkul\Marketing\Repositories\CampaignRepository;
|
||||
use Webkul\Marketing\Repositories\TemplateRepository;
|
||||
use Webkul\Core\Models\SubscribersList;
|
||||
use Webkul\Marketing\Mail\NewsletterMail;
|
||||
use Webkul\Marketing\Repositories\CampaignRepository;
|
||||
use Webkul\Marketing\Repositories\EventRepository;
|
||||
|
||||
class Campaign
|
||||
{
|
||||
|
|
@ -45,8 +45,7 @@ class Campaign
|
|||
EventRepository $eventRepository,
|
||||
CampaignRepository $campaignRepository,
|
||||
CampaignRepository $templateRepository
|
||||
)
|
||||
{
|
||||
) {
|
||||
$this->eventRepository = $eventRepository;
|
||||
|
||||
$this->campaignRepository = $campaignRepository;
|
||||
|
|
@ -55,6 +54,8 @@ class Campaign
|
|||
}
|
||||
|
||||
/**
|
||||
* Process the email.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function process(): void
|
||||
|
|
@ -85,43 +86,35 @@ class Campaign
|
|||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
* Get the email address.
|
||||
*
|
||||
* @param \Webkul\Marketing\Contracts\Campaign $campaign
|
||||
* @return array
|
||||
*/
|
||||
public function getEmailAddresses($campaign)
|
||||
{
|
||||
$emails = [];
|
||||
|
||||
$customerGroupEmails = $campaign->customer_group->customers()->where('subscribed_to_news_letter', 1)->get('email');
|
||||
|
||||
foreach ($customerGroupEmails as $row) {
|
||||
$emails[] = $row->email;
|
||||
if ($campaign->customer_group->code === 'guest') {
|
||||
$customerGroupEmails = SubscribersList::whereNull('customer_id');
|
||||
} else {
|
||||
$customerGroupEmails = $campaign->customer_group->customers()->where('subscribed_to_news_letter', 1);
|
||||
}
|
||||
|
||||
return array_unique($emails);
|
||||
return array_unique($customerGroupEmails->pluck('email')->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* Return customer's emails who has a birthday today
|
||||
* Return customer's emails who has a birthday today.
|
||||
*
|
||||
* @param \Webkul\Marketing\Contracts\Campaign $campaign
|
||||
* @return array
|
||||
*/
|
||||
public function getBirthdayEmails($campaign)
|
||||
{
|
||||
$customerGroupEmails = $campaign->customer_group->customers()
|
||||
return $campaign->customer_group
|
||||
->customers()
|
||||
->whereRaw('DATE_FORMAT(date_of_birth, "%m-%d") = ?', [Carbon::now()->format('m-d')])
|
||||
->where('subscribed_to_news_letter', 1)
|
||||
->get('email');
|
||||
|
||||
$emails = [];
|
||||
|
||||
foreach ($customerGroupEmails as $row) {
|
||||
$emails[] = $row->email;
|
||||
}
|
||||
|
||||
return $emails;
|
||||
->pluck('email')
|
||||
->toArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue