コード例 #1
0
        protected override DriverResult Editor(LocalizationPart part, dynamic shapeHelper)
        {
            var lPs             = _cultureService.GetLocalizations(part, VersionOptions.Latest).ToList();
            var localizations   = lPs.Where(l => l.Culture.Culture != null).ToList();
            var siteCulture     = _cultureService.GetSiteCulture();
            var selectedCulture = part.Culture != null ? part.Culture.Culture : (part.Id == 0 ? siteCulture : null);
            var sC           = _cultureService.ListCultures();
            var siteCultures = sC.Where(c => c.Culture != null)
                               .Select(c => c.Culture)
                               .Where(s => !localizations.Select(l => l.Culture.Culture).Contains(s));
            var model = new EditLocalizationViewModel
            {
                SelectedCulture      = selectedCulture,
                SiteCultures         = siteCultures,
                ContentItem          = part,
                MasterContentItem    = part.MasterContentItem,
                ContentLocalizations = new ContentLocalizationsViewModel(part)
                {
                    Localizations = localizations.Where(c => c.Culture.Culture != selectedCulture)
                }
            };

            return(ContentShape("Parts_ExLocalization_ContentTranslations_Edit",
                                () => shapeHelper.EditorTemplate(TemplateName: "Parts/ExLocalization.ContentTranslations", Model: model, Prefix: TemplatePrefix)));
        }
コード例 #2
0
        public IActionResult EditKey(EditLocalizationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            _localizationService.EditKey(model);
            return(RedirectToAction("Index", "Localization", new { page = 1, perPage = 10 }));
        }
コード例 #3
0
        protected override DriverResult Editor(LocalizationPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var model = new EditLocalizationViewModel();

            if (updater != null && updater.TryUpdateModel(model, TemplatePrefix, null, null))
            {
                _localizationService.SetContentCulture(part, model.SelectedCulture);
            }

            return(Editor(part, shapeHelper));
        }
コード例 #4
0
        protected override DriverResult Editor(LocalizationPart part, IUpdateModel updater, dynamic shapeHelper) {
            var model = new EditLocalizationViewModel();

            // GetCulture(part) is checked against null value, because the content culture has to be set only if it's not set already.
            // model.SelectedCulture is checked against null value, because the editor group may not contain LocalizationPart when the content item is saved for the first time.
            if (updater != null && updater.TryUpdateModel(model, TemplatePrefix, null, null) && GetCulture(part) == null && !string.IsNullOrEmpty(model.SelectedCulture)) {
                _localizationService.SetContentCulture(part, model.SelectedCulture);
            }

            return Editor(part, shapeHelper);
        }
コード例 #5
0
ファイル: AdminController.cs プロジェクト: itc20/orchard
        public ActionResult TranslatePOST(int id, Action <ContentItem> conditionallyPublish)
        {
            var masterContentItem = _contentManager.Get(id, VersionOptions.Latest);

            if (masterContentItem == null)
            {
                return(HttpNotFound());
            }

            var masterLocalizationPart = masterContentItem.As <LocalizationPart>();

            if (masterLocalizationPart == null)
            {
                return(HttpNotFound());
            }

            var model = new EditLocalizationViewModel();

            TryUpdateModel(model, "Localization");

            var existingTranslation = _localizationService.GetLocalizedContentItem(masterContentItem, model.SelectedCulture);

            if (existingTranslation != null)
            {
                var existingTranslationMetadata = _contentManager.GetItemMetadata(existingTranslation);
                return(RedirectToAction(
                           Convert.ToString(existingTranslationMetadata.EditorRouteValues["action"]),
                           existingTranslationMetadata.EditorRouteValues));
            }

            var contentItemTranslation = _contentManager
                                         .Create <LocalizationPart>(masterContentItem.ContentType, VersionOptions.Draft, part => {
                part.MasterContentItem = masterLocalizationPart.MasterContentItem == null ? masterContentItem : masterLocalizationPart.MasterContentItem;
            });

            var content = _contentManager.UpdateEditor(contentItemTranslation, this);

            if (!ModelState.IsValid)
            {
                Services.TransactionManager.Cancel();

                return(View(content));
            }

            conditionallyPublish(contentItemTranslation.ContentItem);

            Services.Notifier.Information(T("Created content item translation."));

            var metadata = _contentManager.GetItemMetadata(contentItemTranslation);

            return(RedirectToAction(Convert.ToString(metadata.EditorRouteValues["action"]), metadata.EditorRouteValues));
        }
コード例 #6
0
        protected override DriverResult Editor(LocalizationPart part, dynamic shapeHelper)
        {
            var localizations = GetEditorLocalizations(part).ToList();
            var model         = new EditLocalizationViewModel {
                SelectedCulture      = part.Culture != null ? part.Culture.Culture : null,
                SiteCultures         = _cultureManager.ListCultures().Where(s => s != _cultureManager.GetSiteCulture() && !localizations.Select(l => l.Culture.Culture).Contains(s)),
                ContentItem          = part,
                MasterContentItem    = part.MasterContentItem,
                ContentLocalizations = new ContentLocalizationsViewModel(part)
                {
                    Localizations = localizations
                }
            };

            return(ContentShape("Parts_Localization_ContentTranslations_Edit",
                                () => shapeHelper.EditorTemplate(TemplateName: "Parts/Localization.ContentTranslations.Edit", Model: model, Prefix: TemplatePrefix)));
        }
コード例 #7
0
        protected override DriverResult Editor(LocalizationPart part, dynamic shapeHelper) {
            var localizations = GetEditorLocalizations(part).ToList();

            var masterContentItem = _contentManager.Get(part.Record.MasterContentItemId, VersionOptions.Latest);

            var missingCultures = part.HasTranslationGroup && masterContentItem != null ?
                RetrieveMissingCultures(masterContentItem.As<LocalizationPart>(), true) :
                RetrieveMissingCultures(part, part.Culture != null);

            var model = new EditLocalizationViewModel {
                SelectedCulture = GetCulture(part),
                MissingCultures = missingCultures,
                ContentItem = part,
                MasterContentItem = masterContentItem,
                ContentLocalizations = new ContentLocalizationsViewModel(part) { Localizations = localizations }
            };

            return ContentShape("Parts_Localization_ContentTranslations_Edit",
                () => shapeHelper.EditorTemplate(TemplateName: "Parts/Localization.ContentTranslations.Edit", Model: model, Prefix: TemplatePrefix));
        }
コード例 #8
0
        public IActionResult EditKey(string key)
        {
            if (string.IsNullOrEmpty(key))
            {
                return(View());
            }

            var rz = new Dictionary <string, string>();

            foreach (var item in _locConfig.Value.Languages)
            {
                var str = _localize.GetForLanguage(key, item.Identifier);
                rz.Add(item.Identifier, str.Value != $"[{str.Name}]" ? str : string.Empty);
            }

            var model = new EditLocalizationViewModel
            {
                Key = key,
                LocalizedStrings = rz,
                Languages        = _locConfig.Value.Languages.ToDictionary(f => f.Identifier, f => f.Name)
            };

            return(View(model));
        }
コード例 #9
0
        /// <summary>
        /// Edit key
        /// </summary>
        /// <param name="model"></param>
        public void EditKey(EditLocalizationViewModel model)
        {
            var newStrings = model.LocalizedStrings;

            AddOrUpdateKey(model.Key, newStrings);
        }
コード例 #10
0
 public virtual void EditKey(EditLocalizationViewModel model)
 {
     throw new NotImplementedException();
 }