"There is no action..." in Quotes

Hi everyone, I recently upgraded to version 8.6 and copied some custom files from version 7 into the new version. Naturally I had some problems, but with patience I solved them.
Now I have a problem with the Quotes module.
In version 7.14 I had some customizations in this module.
In detailviewdefs.php there is a reference to a file (customPopup.js), the call occurs, but within this file there is a reference to another file:

...
dialog = $("#dialog-form").dialog({
 autoOpen: false,
 height: 250,
 width: 325,
 modal: true,
 show: {effect: 'fade', duration: 250},
 hide: {effect: 'fade', duration: 500},
 buttons: {
 "Calculate": function() {
 if($('#calPopup').valid()) {
 /* Saving Value AJAX call */
 $.ajax({
 url: 'index.php?module=AOS_Quotes&action=CalFat',
 type: 'POST',
 dataType: 'JSON',
 async: false,
 data: $("#calPopup").serialize(),
 success: function (response) {
 if(response.status=='Success') {
 console.log('success ajax call');
 dialog.dialog("close");
 location.reload();
 }
 }
 });
 } //end if
 },
 Cancel: function() {
 dialog.dialog("close");
 }
 },
 open: function (event, ui) {
 $('#dialog-form').css('overflow', 'hidden'); //this line does the actual hiding
 $('.ui-widget-header').css('background', '#ccc'); //this line does the actual hiding
 },
 close: function() {
 $("#calPopup").trigger("reset");
 }
 });
 dialog.dialog("open");
 });
...

the problem seems to be on the line:

url: 'index.php?module=AOS_Quotes&action=CalFat',

through the browser development tools, this message appears:

There is no action with the name: CalFat

CalFat is a file located inside the AOS_Quotes folder

I thought the problem concerned some file that I had forgotten to bring from 7 to 8 which contained the recording of the action, but as it was on 7 it is now on 8.

Can you tell me how to solve it please? it’s important. Thank you.

I discovered that a problem is related to a query that refers to a DB table that does not exist (aos_products_quotes_cstm) which I don’t know how it was created.
The aos_products_quotes table exists in the DB (I don’t know why it exists either) I don’t know which module it refers to

aos_products -> products
aos_quotes -> quotes
aos_products_quotes -> ?
aos_products_quotes_cstm -> ?

aos_products_quotes is a relationship table, it stores information about which product records are related to which quotes records.

aos_products_quotes_cstm is a table to store custom fields that you created in Studio, or through vardefs files.

yes, I know the meaning of the _cstm tables, but I didn’t recognize the module connected to those tables… now I understand that they refer to Line Items.
The problem is that taking the old custom code of version 7.14, at a certain point I find:

if ($view == 'EditView') {
...

which does not fit because if I print the value of $view (after the edit key) it appears:

SearchForm_basic_search

Has the management of EditView, DetailView, ListView changed in this sense in version 8? Are they called differently? In this case I will have to change the “IF”

Yes, the handling of the views in v8 is completely new. The Edit view and the Detail view are dinner into a single view called Record view.

And all the views are rendered differently, through Angular.

so how do I recognize where I am? What if I’m in Editview or Detailview? As in this specific case

I don’t really know, but you can trying figuring out what is happening, from the call stack.

At least try to figure out if this request if coming through legacy engine (old views). I am curious about what you said, that the view seems to be a search view. Maybe there is more than one request building up the view, and this is just a part of it.

I had already tried to enable stack trace, but it immediately goes into error on the home page, so I avoid it

Stack traces are much more useful inside an IDE with Xdebug, not on the screen (they can break the screen in unexpected places, as you are experiencing).

My PR called Improved stack traces would also be useful, it’s a pity it never gets merged…

Would it be feasible to convert your PR Improved stack traces to an installable custom Extension. Bypassing the need to merge it, users could start using it immediately.

I have a renewed hope that it can be merged soon.

It is technically feasible to make it as an add-on, yes. The PR can be simplified to avoid touching many core files, because most of the changes are to add “breadcrumbs” entries, but that feature is relatively unimportant so it can be left out.

I can’t work on this now, though… Sorry

1 Like

Could you please share link of it? :heavy_heart_exclamation: