What should be used to replace controller.php?

I am upgrading some older modules that currently run in BWC.  I need to replace some actions that are currently in controller.php, How I  do that so they no longer have to run in BWC?

Thank You,

Amy

  • It depends on purpose of existing custom methods inside controller.php:

    For methods which define new views you need to create custom layouts and custom views as well.

    For methods which modify data to be rendered on some specific view you need to implement such transformations in view's js controller. Eventually you can encapsule the logic into a custom field type if the transformations is focused on a single  or few fields.

    For methods which modify data to be fetched or stored into db you need to implement such transformations in view's js controller as well, or eventually on a custom field type.

    Perhaps you can share content of your controller so we can better guide you.

    André Lopes
    Lampada Global
    Skype: andre.lampada
  • controller_examples.zip

    Here is an example of the contoller.php  note there are actions, pre_edit and pre_detail.

    I thought about putting the actions as entryPoints, but I figured there was something better.

  • Definitely the code inside pre_detailview and pre_editview can be turned into a regular sugarLogic Formula.

    Methods createHeader and printHTML can be turned into some hbs files and js controllers for custom layouts billable and history.

    Methods action_printBillable, action_printHistory, action_getBillable, action_getHistory can be turned into new layouts/views billable and history.

    Methods action_pdfExport, createTask, page1, page2 can be converted into a custom SugarPdf class, which is OOTB invoked by regular Print PDF.

    André Lopes
    Lampada Global
    Skype: andre.lampada
  • Do you know of any examples of doing those things?  I have done the following custom field, but I haven't done anything with PDFs class layout/views.CustomEmailField.zip