Need to show or hide fields or panels based on the value of another field? For this requirement Dynamic Panels is the perfect solution. The advanced configuration tools allow you to clearly define what should happen whenever a field value changes.
#5845 - Doesn't work properly, all records needs tweaking from database
Hi not sure if you are aware this plugin has a hard time showing all available fields on a module to the administrator.
I have noticed no checkbox fields appear in the UI and there are plenty of dropdown fields which are unavailable in the configuration. directly editing the config in the database with the desired fields and values does result in desired behaviour,
using latest version 16.0
one week ago
to make a field appear after a condition is met, do I need to create a
vi_dynamic_panels_subpanel_module_fieldsrecord or avi_dynamic_panels_fieldsrecord?one week ago
actually I think these are placed in the
field_showcolumn of thevi_dynamic_panelstableone week ago
Hello,
I checked your order history and found that the purchase was made in 2019. Could you please confirm whether you have upgraded the package since then or installed it in a new CRM setup?
Regards,
Variance Infotech PVT LTD
one week ago
The first message I've stated I am using version 16.0 which is the latest version listed on this site.
continuing from my issue hide/show only works once. after a field has been hidden once and then reappears, it will not hide again when the conditions are met a second time.
I will test all the above in a brand new CRM system, I will do this when I have a spare moment.
one week ago
so on the second time
/index.php?entryPoint=VIDynamicPanelsCheckConditionis called where the conditions are not met (success is set to false)data['defaultFieldsHideArray'];is empty when it should contain the names of fields to hide by default I am guessing there is an issue with theVIDynamicPanelsCheckConditionentrypointone week ago
custom/VIDynamicPanels/VIDynamicPanelsDetailViewCheckCondition.phparound line 500there is a foreach loop going through all the fields for a record type, it then checks the
$defaultFieldsvariable against all the fields before adding to to the$defaultFieldsHideArrayvariable. all this seems to be some kind of sanity check to make sure only fields that exist in variable definitions are considered for the plugin.because the plugin is unable to properly find all fields for a record type this makes sense why it does not work. after removing the sanity check because VI dynamic panels to fails to find all fields, the hide and show functionality works an unlimited amount of times instead of only for the first time.
Would you like me to go through the code which finds the fields for a record type and hopefully I can help you fix this problem?
one week ago
I would look over
custom/VIDynamicPanels/VIDynamicPanelsFunctions.phpandcustom/VIDynamicPanels/VIDynamicPanelsModuleFields.phpone week ago
I think I've tracked this down. this is due to
modules/AOW_WorkFlow/aow_utils.phpgetValidFieldsTypesthis function does not handle many field types and may not be a good option to rely on. there may be better implementations in later versions of Suite
but essentially I would not rely on
getValidFieldsTypesfrommodules/AOW_WorkFlow/aow_utils.phpone week ago
it is 100% because you are using getValidFieldsTypes from AOW this function does not support radio buttons / checkboxes dropdown lists or dynamic dropdown lists you should make your own function
one week ago
Hello,
Can you please confirm the SuiteCRM and PHP versions you are currently using so we can verify the same on our end. Additionally, could you share a screenshot of the Dynamic Panels configuration you have set up in your CRM for our reference.
Regards,
Variance Infotech PVT LTD
22 hours ago
I figured it out more about this for the edit view for a dyanamic panels configuration record.
So We've using different layouts (edit/detail) for different security groups, this plugin assumes the user would only ever have 1 sets of layouts for any security group (the default one) so for example lets say there are 2 sets of edit and detail view layouts for the Opportunities module. 1 set for 1 security group, and the other set for the other security group, and then there is the default set (edit/detail layouts) for users who are not members of security groups which have a specific layout for the given module.
If you add the grpLayout parameter to your VIDynamicPanelsAllModuleFields entrypoint and set it to the security group ID which has a specific layout for a module it will return the fields which are present in that layout and not the default one. if you provide either an invalid ID or an id of a security group which does not have a specific layout for the module then an empty response is returned. example /index.php?entryPoint=VIDynamicPanelsAllModuleFields&flow_module=Opportunities&grpLayout=some_security_group_id
This works because the grpLayout request parameter is checked within the layout parser and nothing extra needs to be added to the VIDynamicPanels php files
This explains why the fields we are using are not showing up in the configuration (as they are specific to this security group layout) and why we are having to tweak the plugin files like mentioned before.
A proposal to support security groups with their own layouts: You could either add something to your plugins editview to check if a module has a specific view for a security group ahead of time, or you could fire 2 requests to the VIDynamicPanelsAllModuleFields entrypoint 1 which includes the grpLayout, if it returns an empty response then you can get the default layout by omitting the parameter.
This only fixes it on the configuration screen, I imagine there would be some tweaking to be done for the js code which runs on the view. I still stand by not tying users to specific field types though,
if someone wants to use a custom type I don't think they currently could.