Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Dillan Mills 2019-09-26 01:29:11 -07:00
commit 6f918cff7b
5 changed files with 28 additions and 5 deletions

View File

@ -3,6 +3,10 @@
- Improved the responsiveness of the meal plan and calendar page by automatically switching to a day calendar view on smaller screens (thanks for the idea @kriddles) - Improved the responsiveness of the meal plan and calendar page by automatically switching to a day calendar view on smaller screens (thanks for the idea @kriddles)
- The calendar now also contains all planned recipes from the meal plan on the corresponding day - The calendar now also contains all planned recipes from the meal plan on the corresponding day
- When adding a product to the shopping list from the new context/more menu from the stock overview page and if the product is already on the shopping list, the amount of that entry will be updated acccordingly instead of adding a new (double) shopping list item - When adding a product to the shopping list from the new context/more menu from the stock overview page and if the product is already on the shopping list, the amount of that entry will be updated acccordingly instead of adding a new (double) shopping list item
- Fixed that the browser barcode scanner button was not clickable on iOS Safari (thanks @DeeeeLAN)
- Fixed a problem regarding quantity unit conversion handling for recipe ingredients of products with no unit relations, but only a different purchase/stock quantity unit
- Improved that dates in the iCal calendar export now includes the server timezone
- It's now also possible to set the meal plan page as the default/entry page (`config.php` setting `ENTRY_PAGE`) (thanks @lwis)
- The API Endpoint `GET /files/{group}/{fileName}` now also returns a `Cache-Control` header (defaults fixed to 30 days) to further increase page load times - The API Endpoint `GET /files/{group}/{fileName}` now also returns a `Cache-Control` header (defaults fixed to 30 days) to further increase page load times
- Fixed that the API endpoint `/stock/shoppinglist/add-product` failed when a product should be added which was not already on the shopping list (thanks @Forceu) - Fixed that the API endpoint `/stock/shoppinglist/add-product` failed when a product should be added which was not already on the shopping list (thanks @Forceu)
- Some style/CSS detail-refinements - Some style/CSS detail-refinements

View File

@ -51,7 +51,7 @@ Setting('DISABLE_URL_REWRITING', false);
# Specify an custom homepage if desired - by default the homepage will be set to the stock overview, # Specify an custom homepage if desired - by default the homepage will be set to the stock overview,
# this needs to be one of the following values: # this needs to be one of the following values:
# stock, shoppinglist, recipes, chores, tasks, batteries, equipment, calendar # stock, shoppinglist, recipes, chores, tasks, batteries, equipment, calendar, mealplan
Setting('ENTRY_PAGE', 'stock'); Setting('ENTRY_PAGE', 'stock');
# Set this to true if you want to disable authentication / the login screen, # Set this to true if you want to disable authentication / the login screen,

View File

@ -26,12 +26,20 @@ class CalendarApiController extends BaseApiController
$events = $this->CalendarService->GetEvents(); $events = $this->CalendarService->GetEvents();
foreach($events as $event) foreach($events as $event)
{ {
$date = new \DateTime($event['start']);
$date->setTimezone(date_default_timezone_get());
if ($event['date_format'] === 'date')
{
$date->setTime(23, 59, 59);
}
$vEvent = new \Eluceo\iCal\Component\Event(); $vEvent = new \Eluceo\iCal\Component\Event();
$vEvent->setDtStart(new \DateTime($event['start'])) $vEvent->setDtStart($date)
->setDtEnd(new \DateTime($event['start'])) ->setDtEnd($date)
->setSummary($event['title']) ->setSummary($event['title'])
->setNoTime($event['date_format'] === 'date') ->setNoTime($event['date_format'] === 'date')
->setUseUtc(false); ->setUseTimezone(true);
$vCalendar->addComponent($vEvent); $vCalendar->addComponent($vEvent);
} }

View File

@ -85,6 +85,11 @@ class SystemController extends BaseController
if ($entryPage === 'calendar' && constant('GROCY_FEATURE_FLAG_CALENDAR')) { if ($entryPage === 'calendar' && constant('GROCY_FEATURE_FLAG_CALENDAR')) {
return '/calendar'; return '/calendar';
} }
// Meal Plan
if ($entryPage === 'mealplan' && constant('GROCY_FEATURE_FLAG_RECIPES')) {
return '/mealplan';
}
return '/about'; return '/about';
} }

View File

@ -11,7 +11,13 @@ Grocy.Components.ProductAmountPicker.Reload = function(productId, destinationQuI
$("#qu_id").attr("data-destination-qu-name", FindObjectInArrayByPropertyValue(Grocy.QuantityUnits, 'id', destinationQuId).name); $("#qu_id").attr("data-destination-qu-name", FindObjectInArrayByPropertyValue(Grocy.QuantityUnits, 'id', destinationQuId).name);
conversionsForProduct.forEach(conversion => conversionsForProduct.forEach(conversion =>
{ {
$("#qu_id").append('<option value="' + conversion.to_qu_id + '" data-qu-factor="' + conversion.factor + '">' + conversion.to_qu_name + '</option>'); var factor = conversion.factor;
if (conversion.to_qu_id == destinationQuId)
{
factor = 1;
}
$("#qu_id").append('<option value="' + conversion.to_qu_id + '" data-qu-factor="' + factor + '">' + conversion.to_qu_name + '</option>');
}); });
} }