Jump to content
thirty bees forum

After bleeding edge update no Dashboard


PeterPan

Recommended Posts

Update: Almost on every page nothing is displayed

 

Edit: rolling back to stable version fixes the issue. But it is maybe a bug in latest bleeding edge version. I did the update from bleeding edge version circa a month ago

Edited by PeterPan
Link to comment
Share on other sites

@PeterPan

These are two issues.

1) Dashboard not visible after update -- I can't confirm. I just updated my test and production env to bleeding edge, and have no problem. You will need to look into your server error logs to see what is there. Also, what php version are you using?

2) Regarding DB schema problem with auto-increment column migration -- as @wakabayashi, this is known issue, and will be fixed in upcoming version of the core updater

Link to comment
Share on other sites

@wakabayashi

You could try to delete your overrides one by one if you have any for admin area. To see which one is causing the problem.

I'm updating my live site now as I had to make some small updates to my carrier overrides which generated error when updating

767521917_Screenshot2022-04-27at08-55-17CoreUpdater.thumb.png.15f07ade36f2b24d559fb6cedf134655.png

Coreupdater didn't add that column, neither displayed option in database schema due to missing line in my override 🙂

I do all my updates on backup copy of shop first, to eliminate all the possible issues (mostly no issues) and to check if my overrides work 🙂

Link to comment
Share on other sites

25 minutes ago, toplakd said:

Coreupdater didn't add that column, neither displayed option in database schema due to missing line in my override 🙂

I do all my updates on backup copy of shop first, to eliminate all the possible issues (mostly no issues) and to check if my overrides work 🙂

Did you redefine the object model definition in your override?

public static $definition = [...]

If so, what were your reasons to do it?

 

Link to comment
Share on other sites

Yes, $definition was redefined in my override and bottom line was missing.

That missing line was the cause of my error when updating, and preventing database schema to add this column 🙂

'display_name'         => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCarrierName', 'required' => true, 'size' => 64],

 

Edited by toplakd
Link to comment
Share on other sites

6 minutes ago, toplakd said:

Yes, $definition was redefined in my override and bottom line was missing.

That missing line was the cause of my error when updating, and preventing database schema to add this column 🙂


'display_name'         => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCarrierName', 'required' => true, 'size' => 64],

 

We really need some better way to extend object model definition. Currently there are few methods do to it, but none of them is good enough, or work in all use cases.

I have seen full override (the one you have used) -- since this is not an extension of parent definition, it is very brittle. Another way to do this is to 'adjust' object model definition in constructor. That method works in some cases only, though.

  • Like 2
Link to comment
Share on other sites

52 minutes ago, datakick said:

We really need some better way to extend object model definition. Currently there are few methods do to it, but none of them is good enough, or work in all use cases.

I couldn't agree more. 😎 You see I am adding a lot of PR these days. But this is out of my reach. A very very good understanding of TB and PHP is needed.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
On 4/27/2022 at 8:16 AM, datakick said:

@PeterPan

These are two issues.

1) Dashboard not visible after update -- I can't confirm. I just updated my test and production env to bleeding edge, and have no problem. You will need to look into your server error logs to see what is there. Also, what php version are you using?

2) Regarding DB schema problem with auto-increment column migration -- as @wakabayashi, this is known issue, and will be fixed in upcoming version of the core updater

so i tried today again to update to latest bleeding edge. PHP Version is 7.4; MySQL is 5.7

opening he browser console shows this 
image.png.ee579b7edc5c7d5856572ebee954d110.png

image.png.3c38de180d9b4496abd4c70425b5eb11.png

or any other ideas, where the problem could be located?

this is what it looks like
image.thumb.png.91e543549e9344461eb690e188d8d508.png

Edited by PeterPan
Link to comment
Share on other sites

I can´t remember changed this file. 
This is in the file
 

{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2016 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
<script>
    var dashboard_ajax_url = '{$link->getAdminLink('AdminDashboard')}';
    var adminstats_ajax_url = '{$link->getAdminLink('AdminStats')}';
    var no_results_translation = '{l s='No result' js=1}';
    var read_more = '{l s='Read more' js=1}';
</script>

<div id="dashboard">
    <div class="row">
        <div class="col-lg-12">
{if $warning}
            <div class="alert alert-warning">{$warning}</div>
{/if}
            <div id="calendar" class="panel">
                <form action="{$action|escape}" method="post" id="calendar_form" name="calendar_form" class="form-inline">
                    <div class="btn-group">
                        <button type="button" name="submitDateDay" class="btn btn-default submitDateDay{if isset($preselect_date_range) && $preselect_date_range == 'day'} active{/if}">
                            {l s='Day'}
                        </button>
                        <button type="button" name="submitDateMonth" class="btn btn-default submitDateMonth{if (!isset($preselect_date_range) || !$preselect_date_range) || (isset($preselect_date_range) && $preselect_date_range == 'month')} active{/if}">
                            {l s='Month'}
                        </button>
                        <button type="button" name="submitDateYear" class="btn btn-default submitDateYear{if isset($preselect_date_range) && $preselect_date_range == 'year'} active{/if}">
                            {l s='Year'}
                        </button>
                        <button type="button" name="submitDateDayPrev" class="btn btn-default submitDateDayPrev{if isset($preselect_date_range) && $preselect_date_range == 'prev-day'} active{/if}">
                            {l s='Day'}-1
                        </button>
                        <button type="button" name="submitDateMonthPrev" class="btn btn-default submitDateMonthPrev{if isset($preselect_date_range) && $preselect_date_range == 'prev-month'} active{/if}">
                            {l s='Month'}-1
                        </button>
                        <button type="button" name="submitDateYearPrev" class="btn btn-default submitDateYearPrev{if isset($preselect_date_range) && $preselect_date_range == 'prev-year'} active{/if}">
                            {l s='Year'}-1
                        </button>
                    </div>
                    <input type="hidden" name="datepickerFrom" id="datepickerFrom" value="{$date_from|escape}" class="form-control">
                    <input type="hidden" name="datepickerTo" id="datepickerTo" value="{$date_to|escape}" class="form-control">
                    <input type="hidden" name="preselectDateRange" id="preselectDateRange" value="{if isset($preselect_date_range)}{$preselect_date_range|escape}{/if}" class="form-control">
                    <div class="form-group pull-right">
                        <button id="datepickerExpand" class="btn btn-default" type="button">
                            <i class="icon-calendar-empty"></i>
                            <span class="hidden-xs">
                                {l s='From'}
                                <strong class="text-info" id="datepicker-from-info">{$date_from|escape}</strong>
                                {l s='To'}
                                <strong class="text-info" id="datepicker-to-info">{$date_to|escape}</strong>
                                <strong class="text-info" id="datepicker-diff-info"></strong>
                            </span>
                            <i class="icon-caret-down"></i>
                        </button>
                    </div>
                    {$calendar}
                </form>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-4 col-lg-3" id="hookDashboardZoneOne">
            {$hookDashboardZoneOne}
        </div>
        <div class="col-md-8 col-lg-7" id="hookDashboardZoneTwo">
            {$hookDashboardZoneTwo}
        </div>
        <div class="col-md-12 col-lg-2">
            <section class="dash_news panel">
                <h3><i class="icon-rss"></i> {l s='thirty bees News'}</h3>
                <div class="dash_news_content"></div>
                <div class="text-center"><h4><a href="https://thirtybees.com/blog/" onclick="return !window.open(this.href, '_blank');">{l s='Find more news'}</a></h4></div>
            </section>
            <section class="dash_links panel">
                <h3><i class="icon-link"></i> {l s="Useful links"}</h3>
                    <dl>
                        <dt><a href="https://docs.thirtybees.com/" class="_blank">{l s="Official Documentation"}</a></dt>
                        <dd>{l s="User, Developer and Designer Guides"}</dd>
                    </dl>
                    <dl>
                        <dt><a href="https://forum.thirtybees.com/?utm_source=back-office&amp;utm_medium=dashboard&amp;utm_campaign=back-office-{$lang_iso|upper}&amp;utm_content=download" class="_blank">{l s="thirty bees Forum"}</a></dt>
                        <dd>{l s="Connect with the thirty bees community"}</dd>
                    </dl>
                    <dl>
                        <dt><a href="https://store.thirtybees.com?utm_source=back-office&amp;utm_medium=dashboard&amp;utm_campaign=back-office-{$lang_iso|upper}&amp;utm_content=download" class="_blank">{l s="thirty bees apps"}</a></dt>
                        <dd>{l s="Enhance your store with templates & modules"}</dd>
                    </dl>
                    <dl>
                        <dt><a href="https://github.com/thirtybees/thirtybees/issues" class="_blank">{l s="GitHub issues page"}</a></dt>
                        <dd>{l s="Report issues in the Bug Tracker"}</dd>
                    </dl>
            </section>
        </div>
    </div>
</div>
 

1 hour ago, datakick said:

@PeterPan Most likely you have override for template admin/themes/default/template/controllers/dashboard/helpers/view/view.tpl. This template is responsible for displaying the dashboard page

Look recursively in your /override/ directory for file named view.tpl

 

Link to comment
Share on other sites

Again, investigate overrides / modules.

  • Try to disable overrides and check if dashboard works -- if it works, investigate which override is a culprit
  • Try to disable non-tb modules and check that dashboard works -- if it works, then enable non-tb modules again, and disable individual modules to figure out which one is the culprit

This is not a bug in core, it's very specific to your installation. Nobody can help you much without access to your back office and/or error logs

  • Thanks 1
Link to comment
Share on other sites

Quote

Fixed.

Problem was caused by overrides from modules that were no longer installed on my system:

34566980_ModulesandservicesVerlagHoheWarte2022-06-2110-12-31.thumb.png.fe08a09450c0d4ec3aabda3f878c1625.png

Especially overrides from packageweight module caused a lot of problems, because it redefined object model definition. Core updater used this (invalid) object model definition and migrated database table to wrong / unexpected state. 

Since I no longer use this module, the overrides needed to be deleted manually, and the database table to be regenerated. 
Thanks for the help

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...