Skip to content

Latest commit

 

History

History
256 lines (233 loc) · 17.6 KB

CHANGELOG.md

File metadata and controls

256 lines (233 loc) · 17.6 KB

v2.0.0 (stable)

Release Date: January 2016 (postponed: February 2016)

Added

  • Setup now generates a random alpha-numeric 9 length string for database table prefixes
  • Admin option to select a page for checkout and registration terms and condition.
  • Missing extension meta title item and extension permission rules to config
  • Version number to extension metadata and themes config for version control and automatic update feature
  • Featured Menus module to display selected featured menu on homepage or anywhere on the storefront
  • New admin setting option to set site date/time format
  • Location image gallery: option to add multiple images to be displayed on local storefront
  • New mail templates to send emails to admin on new customer registration and admin password reset
  • Second parameter to both subject() and message() method of Email library to parse data into mail template
  • New mail templates variables (site_logo, site_url, staff_name, staff_username, status_name, status_comment)
  • Authorize.Net (AIM) Payment gateway
  • Template Library function getActiveThemeOptions() to retrieve admin theme customizer options and get_theme_options() helper function to use within theme files
  • Google analytics tracking code and social links theme options to tastyigniter-orange theme
  • New mail templates to send emails to notify customer of order or reservation status update
  • Dynamic menu navigation from nav_menu array in theme config, so that menu items can be easily managed
  • Location Library orderTimeRange() function to retrieve location order time ranges
  • Customer Library updateCart() function to keep track of cart so customer can login to continue later
  • New admin setting option to enable or disable new customer review entry and display of existing reviews on storefront
  • Invoicing: option to generate invoice number w/ prefix automatically or manually, view invoice from admin order page
  • New admin setting option to set invoice prefix and auto or manual invoicing
  • New admin setting option to set status to mark order as processing so system can start stock reduction and coupon redemption
  • New admin setting option to display or hide stock warning messages
  • New admin setting option to allow customers to still checkout if the menu they are ordering is not in stock
  • Taxation: option to enable or disable calculating taxes based on set percentage and whether to apply on menu prices or as included with menu prices
  • New option to add latitude and longitude manually or fetch automatically in Locations
  • New mail template variable {order_payment} to display the payment method in order email sent to customer and admin
  • Custom error views: override default error views within custom theme by copying the errors folder into the themes/your-custom-theme/ folder
  • Themes: option to add and delete theme in the admin backend plus template helper new method delete_theme
  • Local Module: option to enable or disable single or multi location search mode and selected location for single mode, where orders will be sent.
  • Config helper to write configuration value like encryption key into config file
  • System Events: hooks to allow you integrate your custom modifications into various points within TastyIgniter’s execution
  • Categories: status field to enable or disable selected category in storefront
  • Location library setDeliveryArea() and getAreaId() method to update location delivery area when customer delivery address changes
  • Extension library latestMigration() method to migrate module migrations to the current version

Changed

  • LICENCE from Apache to GNU GPLv3
  • Replaced file_get_contents with cURL to fix issue with google maps geocoding api request not being sent
  • Renamed loadPartial() in Template Library to loadView() to load single views without header, footer and partials
  • Renamed addToStaffGroup() in Permissions Model to assignPermissionRule() and moved into Staff groups Model
  • Checkout and registration terms and condition pages to display in modal instead of new window
  • Media Manager view and style adjustment
  • Moved getPayPalDetails() method from deprecated Payments model into PayPalExpress extension Paypal model
  • Pages: Removed page name redundancy so that only page title and heading are required when creating a new page
  • Changed updateExtension() parameters in Extensions model to (type, name, data)
  • Removed deprecated setBackButton() and getBackButton() in Template library, use setButton() and getButton() instead.
  • Hard code return and cancel URI in paypal_express module
  • Send HTML emails only, remove admin settings option to set TEXT as mail type format
  • Improved resize() in image tool model so that original image is returned when width and height is not given
  • Replaced existing mail templates into responsive HTML mail templates
  • Replaced tinymce editor with summernote editor to reduce total source size
  • Replaced fancybox with bootstrap modal to reduce total source size
  • Restructured controllers so that post data are validated and sent to model at the beginning not end to optimize page load time
  • Replaced completed_order_status admin setting input field to multiple select field
  • Improved language files
  • Re-arranged admin nav menu items and improved Template Library buildNavMenu() to show third level nav menu
  • Improved Themes from listing admin themes on admin panel, this will allow focus only on storefront theme development
  • Improved style and script tags so clearing browser cache is not required after upgrade, by appending query string to the URL
  • Security: create encryption key and add to config file during setup and upgrade
  • Update Page-level DocBlock in system files
  • Improved database migration such that initial data schema can be inserted while migration is running instead of after. This fixes issue where mail templates data is not updated
  • Improved system setup: added one additional step to system setup to confirm license agreement.
  • Postcode no longer a required field for non-UK
  • Database Maintenance: now saves database backup files into tastyigniter/migrations/backups instead of assets/downloads/ as added security
  • Moved load_db_config() method from TI_Config to TI_Loader, so that database config items are loaded earlier in the system
  • Renamed admin, main and setup language file english/english_lang.php to english/default_lang.php to allow seamless translation
  • Removed timezone and language settings from staff edit in admin panel
  • CORE: use DIR_WRITE_MODE when creating directories.
  • Improved add extension functionality: strict upload validation with feedback, renamed methods Extensions_model::upload() to Extensions_model::extractExtension() and Extensions::uploadExtension to Extensions::addExtension
  • Improved storefront theme responsiveness on all devices
  • Theme Customizer: added more options to easily customize the storefront
  • Improved Migration capability to check and install module migrations

Fixed

  • Bug where extra URL query is not appended after permalink slugs in URI reverse routing
  • Bug where empty value is not updated in database by using isset() instead of !empty() in models INSERT/UPDATE
  • Issue where duplicate head tags are added to <head> of Media manager
  • Bug with undefined method writeTheme() in Themes that was replaced in previous version to helper function save_theme_file()
  • Missing extensions admin language line
  • Spelling error in admin setting option complete_order_status to completed_order_status and new_order_status to default_order_status and new_reservation_status to default_reservation_status
  • Issue where payment method is not disabled when order total is below the payments minimum order total
  • Issue where payment method is not displayed in admin and storefront order view
  • Issue where duplicate order is added upon page redirect, also remove received order from user session
  • Orders model from not displaying incomplete/lost orders in customer account
  • Minor bugs fix
  • Issue where site is not translated to default language
  • Issue where view data variable collides with theme options variable in the main app.
  • Issue with permission rule not being applied when updating individual modules
  • Issue with day_elapsed() helper method where it only checks the day instead of checking day and month to determine today or yesterday

v1.4.2-beta

Release Date: 16 September 2015

  • [fixed] staff name in staff updated activity log (67e3fa6)
  • [added] TI_DEBUG constant to enable / disable profiler, disabled by default (3a20c4e)
  • [fixed] display no_photo.png when resizing an image that doesnt exist (da3d3a8)
  • Minor theme fix (4c1ce6b & 01b4535)
  • [replaced] theme preview and thumb files with screenshot.png (bb3cfa4)
  • [added] Installer library to handle TI initial setup and version updates (c5a5175)
  • [replaced] INSERT SQL to REPLACE SQL in initial_schema and demo_schema (d0aa31c)

v1.4.1-beta

Release Date: 09 September 2015

  • Added support for acceptance testing
  • Fixed php version backward-compatibility issues of empty()
  • Changed google maps api request from http to https for location search
  • Fixed adding comment to menu item added to cart
  • Fixed issue with escaping htmlspecialchars when saving lanugaue line to database
  • Fixed issue with saving state in customer and location addresses
  • Added order restriction option to coupons. Coupon is restricted by order types
  • Improved template library, and loading theme config file
  • Improved extension update, install, uninstall, and loading extension config file.
  • Added newsletter module to collect emails for marketing purposes

v1.3-beta

Release Date: 18 May 2015

ADDED:

  • Session library now using 'CI' files session

  • root_url, page_url, admin_url, extension_url method to return site root url

  • Themes customization:

    • New method to template library to load theme configuration file
    • theme_config.php configuration file is now required in theme root directory to install/customize themes.
    • 'customize' key required in $theme configuration array, in other to enable/load customization.
    • Section array items ('title', 'desc', 'icon', 'fields')
    • fields array items ('id', 'type') ('type' => 'hidden|text|password|textarea|group|color|media|checkbox|radio|dropdown|upload')
    • admin_theme_helper methods moved to Customizer class
  • Menu Category hierarchy: with parent and as many child levels

  • New column 'status' added to extensions table, to indicate whether extension is installed/uninstalled and to keep extension data in database after uninstallation.

  • Cart Module: option to show or hide menu images and set sizes

  • Migrations schemas:

    • create trigger (duplicatePermalink) to avoid duplicate permalink value in permalinks table
  • Permalinks:

    • added controller attribute to improve routing
  • Activities System: New database table schema for activities

  • Added order and reservation status color

  • Admin domain base controller property _permission_rules added can be overridden by admin domain controllers to set permission rules for the controller

  • Extension:

    • New modules can be uploaded from backend
    • Modules and it files can be deleted after its been uninstalled
    • Extensions controllers now loads a mandatory config file on initialization in module_name/config/module_name.php

CHANGES:

  • All controller methods visibility are accurately set
  • Admin, Main and Setup now separated into apps and shares same system components
    • CI_Controller now has subclass Base_Controller
    • Base_Controller has subclasses Admin_Controller and Main_Controller
    • Both main and admin domain controllers now extends Admin_Controller and Main_Controller respectively instead of CI_Controller
  • Application controllers now organized in folder, (this affects URI routing)
  • Move encryption_key config item from database to config file.
  • Move log_path config item from database to config file.
  • modules_locations config item now set from index.php instead of config file
  • Settings library now sets config items from database only if settings database table exists
  • Base controller now checks if session database table exists before using database with session
  • Add option to disable security question for customer
  • Migration schemas:
    • table indexes now added in $fields array instead of the dbforge->add_key function
  • Flash alerts and info now uses $this->alert->success/danger/error to add alert message and $this->alert->display to display
  • Renamed assets/download to assets/downloads (notice the downloads)
  • Improved informative database backup with number of rows and displayed
  • Renamed template library method regions() to setPartials()
  • Rename template library setLinkTag() to setStyleTag()
  • Default admin_theme and main_theme config items now grouped into default_themes array
  • Extensions root folder moved to root folder
  • Extensions sub-folders structure re-arranged:
    • controllers/admin and controllers/main merged into controllers/
    • languages/admin and languages/main merged into languages/
    • views/admin and views/main merged into views/
  • Extension class methods moved to Extension_model class and Extension class acts as a Facade
  • Renamed permalink to USER-friendly slug also column in permalinks table
  • Reviews can now be added on reservations and orders. column order_id changed to sale_id and new column sale_type added to differentiate order reviews from reservations reviews.
  • Status History:
    • changed status_history database table column from assigned_id to assignee_id
    • changed reservations database table column from staff_id to assignee_id
    • added assignee_id column to orders database table
  • Changed Activity library to Customer_online Library
  • Customers Online:
    • settings item activity timeout changed to customers_online_timeout
    • settings item activity archive changed to customers_online_archive_timeout
    • IP blacklist removed, to be added back in next version
  • Added referrer_url to ti_url_helper, which will return the user referral url.
  • Changed config('maintenance_page') to config('maintenance_message') and use show_error() instead of loading controller.
  • Improved banners and banners_module.... move dimension from banners and banners_module.
  • Extracted categories, menu_options associated methods into separate models from menus_model
  • Extracted banners associated methods into separate models from design_model and rename to layout_model
  • Improved user permission functionality, permission can be set as rules within controllers.
  • Removed duplicate admin domain controllers methods and models methods
  • Improved site_url and redirect() uri re-routing
  • Improved image manager styles responsiveness and remove irrelevant options
  • Fixed models delete methods to accept array of ids
  • Changed customer activity to customer_online
  • Messages:
    • renamed messages controller method edit to compose
    • added messages controller methods all, draft, sent,
    • removed message type trash
    • Schema:
      • drop location_id, staff_id_to columns in messages table
      • drop staff_id, staff_email, customer_email, customer_id columns in message_recipients table
      • rename column staff_id_from to sender_id in messages table
      • added columns key and value to message_recipients table
  • Improved user permissions
    • added permission database table and Permissions_model
    • added restrict() method to check user permission then redirect and show message to user if permission fails
    • improved hasPermission() method to check user permission and return TRUE on permitted or FALSE on restricted
  • Permissions are a simple string made up of 3 parts:
    • Domain - Typically the module name for application (e.g. Admin, Main, Module).
    • Context - The controller name (e.g. Menu, Order, Location, or Settings).
    • Action - The permitted action (View, Manage, Add, Edit, Delete, etc.).
  • Removed Setting Library, no longer used. (functionality moved to Base_Controller)
  • Removed permission context (controller and view files), no longer needed. (Permission error message displayed using alerts)
  • Add tastyigniter_helper to include log_activity() and other general helpers
  • Activities:
    • Rename Notifications_model to Activities_model
    • add notifications from inside controllers instead of models
    • rename to Activities_model->addNotification to logActivity
    • create log_activity helper function to add activities to database and to be called from controllers
    • logActivity method accepts 4 args user_id, action, context and message
      • rename notifications database table to activities
      • rename actor_id to user_id and object to context
      • drop unused columns from notifications table: suffix, object_id, subject_id
      • add columns user, message, domain, context to activities table
  • Database Migration from admin domain
    • Migrate database to latest version
    • Restore database from downloaded backup sql files and disabled uploading sql files
  • Replaced reserve controller, language, view to reservation
  • Location:
    • Added location image/logo
    • changed property reservation_interval, reservation_turn to reservation_time_interval and reservation_stay_time respectively
    • Move local search functionality from cart_module to local_module
    • removed location settings search by no needed getLatLng does not check search_by settings anymore
  • Languages:
    • ensure main domain is completely internationalized
    • internationalized admin domain
    • ensure common and duplicate lang lines are moved to english_lang.php
    • prefix all language line keys with text_ label_ column_ error_ alert_ button_
    • added new language helper functions
    • added can_delete functionality to language edit
  • Themes: move some themes_model functions to template_helper