Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

ModelAdmin, CMSValidator & CTF Popup


Reply


7 Posts   1200 Views

Avatar
swaiba

Forum Moderator, 1805 Posts

8 June 2011 at 4:26am

I have a getCMSValidator returning my validator which works fine within the ModelAdmin EditForm, however once the form is opened into a CTF Popup - the validation isn't called.

can anyone give me some pointers here please?

Avatar
swaiba

Forum Moderator, 1805 Posts

29 November 2011 at 12:35am

Edited: 29/11/2011 2:47am

bump...

Although I despise core code hack - I have tried adding the follwoing within __construct and forTemplate of ComplexTableField_Popup - but no luck...

   $validator = ($this->dataObject->hasMethod('getCMSValidator')) ? $this->dataObject->getCMSValidator() : new RequiredFields();
      $validator->setJavascriptValidationHandler('none');
      $this->setValidator($validator);

Avatar
swaiba

Forum Moderator, 1805 Posts

28 December 2011 at 10:40pm

sorry to *bump* this again... but please can someone help me with this?

Avatar
smares

Community Member, 25 Posts

31 December 2011 at 3:07am

I had the problem until yesterday when I found out that the method called is getValidator and not getCMSValidator. :-/

Avatar
swaiba

Forum Moderator, 1805 Posts

1 January 2012 at 11:52pm

smares - top man!
That worked, now why didn't I try that one...

Avatar
Andre

Community Member, 126 Posts

25 April 2012 at 11:10pm

Hi there,

my Problem is a bid similar to the mentioned one here.

I have inherited from ModelAdmin and modified it a bid, to be able to use a dataobjectmanager for the Listview instead of a ComplexTableField (to be able to sort the Managed Dataobjects).

I needed some sort of Translation, where the Silverstripe Translation Decorator didn't work, so my Dataobjects are looking the following:

DO App
$db Title, Description
$has_many AppTranslations

DO AppTranslation
$db Locale, Title, Description
$has_one App

The App Collection is managed through the ModelAdmin.
I wrote a Validator for the AppTranslation, that checks, if the translation of a given locale was already set for the chosen App, to prevent from having more than one translation for each locale.

But to make it more comfortable for the administrator, I would like to manipulate the Locales Dropdown of the AppTranslation Form, to show only the Translations left.

For Example.
I have allowed a Set of 4 Languages (de, en, es, fr).
On App Item 1, there are Translations already set for de, en, so the Dropdown should only show es and fr for possible locale.

I can do this inside getCMSFields Method of AppTranslation, but how do I get the reference to the Form Object inside this method, to receive the Parent ID (AppID)?

regrads

Andre

Avatar
swaiba

Forum Moderator, 1805 Posts

25 April 2012 at 11:15pm

Sorry Andre - but I don't see how this is at all related to the above...

1) you are using DOM for some of it
2) the issue I had was asked and answerd - i.e. solved

Please can you start a new thread where something *new* needs help on and if it is to do with DOM please post there