saveConfiguration: function(e) {
            e.preventDefault();
            if (!this.workflowManagementView.valid()) {
                return;
            }

            var formData = helper.getFormData(this.workflowManagementView.$el);
            formData.steps_display_ordered = formData.hasOwnProperty('steps_display_ordered');

            if (!this.model.get('name')) {
                this.model.set('name', helper.getNameByString(formData.label, 'workflow_'));
            }
            this.model.set('label', formData.label);
            this.model.set('steps_display_ordered', formData.steps_display_ordered);
            this.model.set('entity', formData.related_entity);
            this.model.set('start_step', formData.start_step);

            if (!this.validateWorkflow()) {
                return;
            }

            mediator.execute('showLoading');
            this.model.save(null, {
                'success': _.bind(function() {
                    mediator.execute('hideLoading');

                    var redirectUrl = '';
                    var modelName = this.model.get('name');
                    var saveAndClose = this.workflowManagementView.submitActor &&
                            !$(this.workflowManagementView.submitActor).is('[data-action="save_and_stay"]');
                    if (saveAndClose) {
                        redirectUrl = routing.generate('oro_workflow_definition_view', {name: modelName});
                    } else {
                        redirectUrl = routing.generate('oro_workflow_definition_update', {name: modelName});
                    }

                    mediator.once('page:afterChange', function() {
                        messenger.notificationFlashMessage('success', __('Workflow saved.'));
                        messenger.notificationFlashMessage(
                            'warning',
                            __(
                                'oro.workflow.translation_rebuild_required',
                                {path: routing.generate('oro_translation_translation_index')}
                            )
                        );
                    });
                    mediator.execute('redirectTo', {url: redirectUrl}, {redirect: true});
                }, this),
                'error': function(model, response) {
                    mediator.execute('hideLoading');
                    var jsonResponse = response.responseJSON || {};

                    if (tools.debug && !_.isUndefined(console) && !_.isUndefined(jsonResponse.error)) {
                        console.error(jsonResponse.error);
                    }
                    messenger.notificationFlashMessage('error', __('Could not save workflow.'));
                }
            });
        },
        onTransitionAdd: function() {
            var formData = helper.getFormData(this.widget.form);
            if (!this.model.get('name')) {
                this.model.set('name', helper.getNameByString(formData.label, 'transition_'));
            }
            this.model.set('label', formData.label);
            this.model.set('step_to', formData.step_to);
            this.model.set('display_type', formData.display_type);
            this.model.set('message', formData.message);

            var frontendOptions = this.model.get('frontend_options');
            frontendOptions = _.extend({}, frontendOptions, {
                'icon': formData.transition_prototype_icon,
                'class': formData.button_color
            });
            this.model.set('frontend_options', frontendOptions);
            this.model.set('_is_clone', false);

            var stepFrom = formData.step_from ? formData.step_from : this.options.step_from;
            this.trigger('transitionAdd', this.model, stepFrom);
            this.widget.remove();
        },