[Vtigercrm-developers] Creating a custom UIType?

nilay khatri nilay.spartan at gmail.com
Mon Jun 22 14:33:09 GMT 2020


Ah yes, that's true.

For that you will have to override Vtiger_Field_Model in all the modules
where you intend to use the field.

I Agree, ajaxEdit has nothing to do with the MetaData and better if defined
in UIType class.


On Mon, Jun 22, 2020 at 7:48 PM Alan Lord <alanslists at gmail.com> wrote:

> Sure - I understand that. But that means I have to edit/change core
> vtiger code.
>
> I already have a Vtiger_Canvas_UIType class which is effectively
> standalone... I was making the point that this particular method
> (isAjaxEditable) seems to me to belong in the UIType model not in the
> general Field Model because it is not possible to extend it unless you
> know the specific *module* and a particular Module should not really
> have anything to do with a Field's structure or attributes - surely?
>
> Al
>
> On 22/06/2020 15:10, nilay khatri wrote:
> > You can do this in the Vtiger_Field_Model class under the isAjaxEditable
> > fn. by adding conditions for the UIType.
> >
> > If for a specific module, extend the Vtiger_Field_Model in your module
> > and restrict from there.
> >
> > On Mon, Jun 22, 2020 at 6:58 PM Alan Lord <alanslists at gmail.com
> > <mailto:alanslists at gmail.com>> wrote:
> >
> >     Following up a bit on this, I'd like to make my new custom field
> >     read-only in Detail View, i.e. disable Ajax Editing.
> >
> >     However the method isAjaxEditable() exists in the Vtiger_Field_Model
> >     (even though it mostly tests for UITypes), not in the UIType_Model
> >     which
> >     seems a bit odd to me and I can't see an easy way to extend/override
> >     the
> >     Field_Model class?
> >
> >     I can do it from the client-side fairly easily but this method just
> >     seems to be in the wrong class to me - by being in the Field_Model
> it's
> >     suggesting that the function is dependent on the current *Module*,
> not
> >     the current Field...?
> >
> >     Cheers
> >
> >     Al
> >
> >
> >
> >     On 22/06/2020 11:40, Alan Lord wrote:
> >      > I want to add a new UIType field to vtiger 7 that displays an html
> >      > canvas element.
> >      >
> >      > Am I right in thinking I should register it vtiger_ws_fieldtype
> >     and if I
> >      > give it a fieldtype of "canvas" then I can extend the
> >     Vtiger_Field_Model
> >      > to load it?
> >      >
> >      > One thing I don't quite get is how in Detail Views the UIType
> >     template
> >      > file does not seem to be used at all - it only seems to be called
> >     for
> >      > Edit Views. So for Detail View do I need to modify the
> >      > DetailViewBlockView.tpl for all/any modules where I might want to
> >     use my
> >      > new field?
> >      >
> >      > And in terms of choosing a UIType _number_ how do we prevent
> >     possible
> >      > collisions? I can choose something like 995 or whatever, but
> >     presumably
> >      > another developer could also choose the same number without
> knowing?
> >
> >
> >     _______________________________________________
> >     http://www.vtiger.com/
> >
> >
> > _______________________________________________
> > http://www.vtiger.com/
> >
> _______________________________________________
> http://www.vtiger.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20200622/7817c19e/attachment.html>


More information about the vtigercrm-developers mailing list