Search in sources :

Example 6 with FormBuilder

use of com.manydesigns.elements.forms.FormBuilder in project Portofino by ManyDesigns.

the class ManyToManyAction method prepareConfigurationForms.

// Configuration
/*@Button(list = "pageHeaderButtons", titleKey = "configure", order = 1, icon = Button.ICON_WRENCH)
    @RequiresPermissions(level = AccessLevel.DEVELOP)
    public Resolution configure() {
        prepareConfigurationForms();
        return new ForwardResolution("/m/crud/many2many/configure.jsp");
    }

    @Button(list = "configuration", key = "update.configuration", order = 1, type = Button.TYPE_PRIMARY)
    @RequiresPermissions(level = AccessLevel.DEVELOP)
    public Resolution updateConfiguration() {
        prepareConfigurationForms();
        ConfigurationForm conf = new ConfigurationForm(m2mConfiguration);
        configurationForm.readFromObject(conf);
        readPageConfigurationFromRequest();
        configurationForm.readFromRequest(context.getRequest());
        boolean valid = validatePageConfiguration();
        valid = configurationForm.validate() && valid;
        if(valid) {
            updatePageConfiguration();
            configurationForm.writeToObject(conf);
            conf.writeTo(m2mConfiguration);
            saveConfiguration(m2mConfiguration);
            RequestMessages.addInfoMessage(ElementsThreadLocals.getText("configuration.updated.successfully"));
            return cancel();
        } else {
            RequestMessages.addErrorMessage(ElementsThreadLocals.getText("the.configuration.could.not.be.saved"));
            return new ForwardResolution("/m/crud/many2many/configure.jsp");
        }
    }*/
protected void prepareConfigurationForms() {
    FormBuilder formBuilder = new FormBuilder(ConfigurationForm.class);
    if (m2mConfiguration != null && m2mConfiguration.getActualRelationTable() != null) {
        formBuilder.configFields("viewType", "database", "query", "oneExpression", "onePropertyName", "oneSpName", "manySpName");
        List<ModelSelectionProvider> sps = new ArrayList<ModelSelectionProvider>();
        sps.addAll(m2mConfiguration.getActualRelationTable().getForeignKeys());
        sps.addAll(m2mConfiguration.getActualRelationTable().getSelectionProviders());
        SelectionProvider oneSp = SelectionProviderLogic.createSelectionProvider("oneSpName", sps, ModelSelectionProvider.class, null, new String[] { "name" });
        formBuilder.configSelectionProvider(oneSp, "oneSpName");
        SelectionProvider manySp = SelectionProviderLogic.createSelectionProvider("manySpName", sps, ModelSelectionProvider.class, null, new String[] { "name" });
        formBuilder.configSelectionProvider(manySp, "manySpName");
    } else {
        formBuilder.configFields("viewType", "database", "query", "oneExpression", "onePropertyName");
    }
    formBuilder.configFieldSetNames("Many to many");
    DefaultSelectionProvider viewTypeSelectionProvider = new DefaultSelectionProvider("viewType");
    String label = ElementsThreadLocals.getText("check.boxes.horizontal");
    viewTypeSelectionProvider.appendOption(ViewType.CHECKBOXES.name(), label, true);
    label = ElementsThreadLocals.getText("check.boxes.vertical");
    viewTypeSelectionProvider.appendOption(ViewType.CHECKBOXES_VERTICAL.name(), label, true);
    // label = getMessage("lists");
    // viewTypeSelectionProvider.appendRow(ViewType.LISTS.name(), label, true);
    formBuilder.configSelectionProvider(viewTypeSelectionProvider, "viewType");
    SelectionProvider databaseSelectionProvider = SelectionProviderLogic.createSelectionProvider("database", persistence.getModel().getDatabases(), Database.class, null, new String[] { "databaseName" });
    formBuilder.configSelectionProvider(databaseSelectionProvider, "database");
    configurationForm = formBuilder.build();
    configurationForm.readFromObject(new ConfigurationForm(m2mConfiguration));
}
Also used : FormBuilder(com.manydesigns.elements.forms.FormBuilder)

Example 7 with FormBuilder

use of com.manydesigns.elements.forms.FormBuilder in project Portofino by ManyDesigns.

the class FormAction method setupForm.

protected void setupForm(Mode mode) {
    FormBuilder formBuilder = createFormBuilder();
    configureFormBuilder(formBuilder, mode);
    form = buildForm(formBuilder);
}
Also used : FormBuilder(com.manydesigns.elements.forms.FormBuilder)

Example 8 with FormBuilder

use of com.manydesigns.elements.forms.FormBuilder in project Portofino by ManyDesigns.

the class MailSettingsAction method setupFormAndBean.

protected Form setupFormAndBean() {
    Form form = new FormBuilder(MailSettings.class).build();
    MailSettings settings = new MailSettings();
    settings.mailEnabled = configuration.getProperties().getBoolean(MailProperties.MAIL_ENABLED, false);
    settings.keepSent = configuration.getProperties().getBoolean(MailProperties.MAIL_KEEP_SENT, false);
    settings.smtpHost = configuration.getProperties().getString(MailProperties.MAIL_SMTP_HOST);
    settings.smtpPort = configuration.getProperties().getInteger(MailProperties.MAIL_SMTP_PORT, null);
    settings.smtpSSL = configuration.getProperties().getBoolean(MailProperties.MAIL_SMTP_SSL_ENABLED, false);
    settings.smtpTLS = configuration.getProperties().getBoolean(MailProperties.MAIL_SMTP_TLS_ENABLED, false);
    settings.smtpLogin = configuration.getProperties().getString(MailProperties.MAIL_SMTP_LOGIN);
    settings.smtpPassword = configuration.getProperties().getString(MailProperties.MAIL_SMTP_PASSWORD);
    settings.queueLocation = configuration.getProperties().getProperty(MailProperties.MAIL_QUEUE_LOCATION) + "";
    form.readFromObject(settings);
    return form;
}
Also used : FormBuilder(com.manydesigns.elements.forms.FormBuilder) Form(com.manydesigns.elements.forms.Form) MailSettings(com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings)

Example 9 with FormBuilder

use of com.manydesigns.elements.forms.FormBuilder in project Portofino by ManyDesigns.

the class SettingsAction method setupFormAndBean.

protected Form setupFormAndBean() {
    Settings settings = new Settings();
    settings.appName = configuration.getProperties().getString(PortofinoProperties.APP_NAME);
    settings.appVersion = configuration.getProperties().getString(PortofinoProperties.APP_VERSION);
    settings.loginPath = configuration.getProperties().getString(PortofinoProperties.LOGIN_PATH);
    settings.preloadGroovyPages = configuration.getProperties().getBoolean(PortofinoProperties.PRELOAD_ACTIONS, false);
    settings.preloadGroovyClasses = configuration.getProperties().getBoolean(PortofinoProperties.PRELOAD_CLASSES, false);
    Form form = new FormBuilder(Settings.class).build();
    form.readFromObject(settings);
    return form;
}
Also used : FormBuilder(com.manydesigns.elements.forms.FormBuilder) Form(com.manydesigns.elements.forms.Form) Settings(com.manydesigns.portofino.upstairs.Settings)

Aggregations

FormBuilder (com.manydesigns.elements.forms.FormBuilder)9 Form (com.manydesigns.elements.forms.Form)6 ConnectionProviderDetail (com.manydesigns.portofino.upstairs.actions.database.connections.support.ConnectionProviderDetail)2 BigInteger (java.math.BigInteger)2 MapKeyValueAccessor (com.manydesigns.elements.MapKeyValueAccessor)1 DateField (com.manydesigns.elements.fields.DateField)1 Field (com.manydesigns.elements.fields.Field)1 FieldSet (com.manydesigns.elements.forms.FieldSet)1 DefaultSelectionProvider (com.manydesigns.elements.options.DefaultSelectionProvider)1 MutableHttpServletRequest (com.manydesigns.elements.servlet.MutableHttpServletRequest)1 Annotation (com.manydesigns.portofino.model.Annotation)1 Property (com.manydesigns.portofino.model.Property)1 Settings (com.manydesigns.portofino.upstairs.Settings)1 MailSettings (com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings)1 BigDecimal (java.math.BigDecimal)1 SimpleDateFormat (java.text.SimpleDateFormat)1 LocalDate (java.time.LocalDate)1 FileObject (org.apache.commons.vfs2.FileObject)1 Session (org.hibernate.Session)1 JSONArray (org.json.JSONArray)1