const entityFromBody = function (schema) { return function (req, res, next) { if (!endsWith(req.originalUrl, 'archive') && (req.method === 'POST' || req.method === 'PUT')) { let errors = validate(req.body, schema, null, true) if (size(errors)) { return next({httpStatus: 400, message: 'Given entity does not respect Schema', errors}) } req.entity = transform(req.body, schema) } next() } }
// Since the component is never unmounted we need this hook componentDidUpdate(prevProps) { const { appliedFilters, show } = this.props; if (size(prevProps.appliedFilters) !== size(appliedFilters) && size(appliedFilters) === 0) { this.handleClickAdd(); } if (prevProps.show !== show) { if (show) { this.mountInput(); } else { this.unmountInput(); } } }
export function storeTemporaryMenu(newMenu, position, nbElementToRemove) { const newModel = newMenu[size(newMenu) - 2]; const newLink = { icon: 'fa-caret-square-o-right', name: newModel.name, isTemporary: true }; storeData.setMenu(newMenu); storeData.setModel(newModel); storeData.setIsModelTemporary(); return { type: STORE_TEMPORARY_MENU, newModel, newLink, position, nbElementToRemove, }; }
export default function getFlag(languageArray) { return toLower(languageArray[size(languageArray) -1]); }
export function modelsFetchSucceeded(models) { const modelNumber = size(models.models) > 1 ? 'plural' : 'singular'; const sections = storeData.getMenu() || map(models.models, (model) => ({icon: 'fa-caret-square-o-right', name: model.name, source: model.source })); if (!storeData.getMenu()){ sections.push({ icon: 'fa-plus', name: 'button.contentType.add' }); } const menu = { sections: [ Map({ name: `menu.section.contentTypeBuilder.name.${modelNumber}`, items: List(sections), }), ], }; const data = storeData.getModel() ? { models: concat(models.models, storeData.getModel()) } : models; return { type: MODELS_FETCH_SUCCEEDED, data, menu, }; }
const errors = validate(req.body, clientSchema, null, true) if (size(errors)) { return next({httpStatus: 400, message: 'Provided Client does not respect Schema', errors})
if (size(errors)) { return next({httpStatus: 400, message: 'Document does not respect Form Schema', errors}) } else if (form.clientLink === ClientLinkOptions.MANDATORY && !client) {
render() { const component = size(this.props.models) === 0 ? <EmptyContentTypeView handleButtonClick={this.toggleModal} /> : this.renderTableListComponent(); return ( <div className={styles.homePage}> <Helmet title="HomePage" meta={[ { name: 'description', content: 'Description of HomePage' }, ]} /> <ContentHeader name="content-type-builder.home.contentTypeBuilder.name" description="content-type-builder.home.contentTypeBuilder.description" styles={{ margin: '-1px 0 3rem 0'}} /> {component} <Form hash={this.props.location.hash} toggle={this.toggleModal} routePath={this.props.match.path} popUpHeaderNavLinks={this.popUpHeaderNavLinks} menuData={this.props.menu} redirectRoute={`${this.props.match.path}`} /> </div> ); }
.set('models', List(action.data.models)); case STORE_TEMPORARY_MENU: { const modelsSize = size(state.get('models').toJS()); return state .updateIn(['menu', '0', 'items'], (list) => list.splice(action.position, action.nbElementToRemove, action.newLink)) const newModel = state.getIn(['models', size(state.get('models').toJS()) - 1]); newModel.fields = action.fieldNumber; return state .updateIn(['models', size(state.get('models').toJS()) - 1], () => newModel); const newModel = state.getIn(['models', size(state.get('models').toJS()) - 1]); newModel.isTemporary = false; newModel.fields = action.fieldNumber; const oldMenuItem = state.getIn(['menu', '0', 'items', size(state.getIn(['menu', '0', 'items']).toJS()) -2]); oldMenuItem.isTemporary = false; const newData = oldMenuItem; return state .updateIn(['menu', '0', 'items', size(state.getIn(['menu', '0', 'items']).toJS()) -2], () => newData) .updateIn(['models', size(state.get('models').toJS()) - 1], () => newModel);
const generateListTitle = (data, settingType) => { switch (settingType) { case 'roles': { const title = size(data) < 2 ? <FormattedMessage id="users-permissions.List.title.roles.singular" values={{ number: size(data) }} /> : <FormattedMessage id="users-permissions.List.title.roles.plural" values={{ number: size(data) }} />; : <FormattedMessage id="users-permissions.List.title.providers.enabled.singular" values={{ number: enabledProvidersSize }} />; const disabledProviders = size(data) - enabledProvidersSize > 1 ? <FormattedMessage id="users-permissions.List.title.providers.disabled.plural" values={{ number: size(data) - enabledProvidersSize }} /> : <FormattedMessage id="users-permissions.List.title.providers.disabled.singular" values={{ number: size(data) - enabledProvidersSize }} />; return size(data) > 1 ? <FormattedMessage id="users-permissions.List.title.emailTemplates.plural" values={{ number: size(data) }} /> : <FormattedMessage id="users-permissions.List.title.emailTemplates.singular" values={{ number: size(data) }} />;
render() { const listSize = size(this.props.plugins); let titleType = listSize === 1 ? 'singular' : 'plural';
render() { const { appliedFilters, filterToFocus, schema, show } = this.props; const { showInput } = this.state; const number = showInput ? (254 + ((size(appliedFilters) -1) * 44)) : 254;
if (size(sameAttributes) > 0 && this.props.modifiedDataAttribute.name !== get(this.props.contentTypeData.attributes, [attributeIndex, 'name'])) { formErrors.push({ name: 'name', errors: [{ id: 'content-type-builder.error.attribute.taken' }]}); if (size(sameParamsKey) > 0 && isEditingParamsKey) { formErrors.push({ name: 'params.key', errors: [{ id: 'content-type-builder.error.attribute.key.taken' }]}); if (size(sameParamsKeyAndName) > 0 && isEditingParamsKey) { formErrors.push({ name: 'params.key', errors: [{ id: 'content-type-builder.error.attribute.key.taken' }]});
if (size(data) === 2) return formErrors;
render() { const addButtons = get(storeData.getContentType(), 'name') === this.props.match.params.modelName && size(get(storeData.getContentType(), 'attributes')) > 0 || this.props.modelPage.showButtons; const contentHeaderDescription = this.props.modelPage.model.description || 'content-type-builder.modelPage.contentHeader.emptyDescription.description'; const content = size(this.props.modelPage.model.attributes) === 0 ? <EmptyAttributesBlock title="content-type-builder.home.emptyAttributes.title" description="content-type-builder.home.emptyAttributes.description" label="content-type-builder.button.attributes.add" onClick={this.handleClickAddAttribute} id="openAddAttr" /> : <List