3
0

Implement res. tr. for compose page & module

This commit is contained in:
Denis Arh
2021-09-16 06:09:51 +02:00
committed by Tomaž Jerman
parent 3e746c3b57
commit cf35691c56
6 changed files with 75 additions and 21 deletions
+24 -8
View File
@@ -18,6 +18,7 @@ import (
"github.com/cortezaproject/corteza-server/pkg/label"
"github.com/cortezaproject/corteza-server/pkg/locale"
"github.com/cortezaproject/corteza-server/store"
"golang.org/x/text/language"
)
type (
@@ -262,6 +263,19 @@ func (svc module) Create(ctx context.Context, new *types.Module) (*types.Module,
return err
}
if contentLang := locale.GetContentLanguageFromContext(ctx); contentLang != language.Und {
tt := new.EncodeTranslations()
for _, f := range new.Fields {
tt = append(tt, f.EncodeTranslations()...)
}
tt.SetLanguage(contentLang)
err = DefaultResourceTranslation.Upsert(ctx, tt)
if err != nil {
return err
}
}
if err = label.Create(ctx, s, new); err != nil {
return
}
@@ -348,15 +362,17 @@ func (svc module) updater(ctx context.Context, namespaceID, moduleID uint64, act
}
// i18n
tt := m.EncodeTranslations()
for _, f := range m.Fields {
tt = append(tt, f.EncodeTranslations()...)
}
if contentLang := locale.GetContentLanguageFromContext(ctx); contentLang != language.Und {
tt := m.EncodeTranslations()
for _, f := range m.Fields {
tt = append(tt, f.EncodeTranslations()...)
}
tt.SetLanguage(locale.GetAcceptLanguageFromContext(ctx))
err = svc.locale.Upsert(ctx, tt)
if err != nil {
return err
tt.SetLanguage(locale.GetAcceptLanguageFromContext(ctx))
err = svc.locale.Upsert(ctx, tt)
if err != nil {
return err
}
}
if changes&moduleLabelsChanged > 0 {
+18 -5
View File
@@ -13,6 +13,7 @@ import (
"github.com/cortezaproject/corteza-server/pkg/label"
"github.com/cortezaproject/corteza-server/pkg/locale"
"github.com/cortezaproject/corteza-server/store"
"golang.org/x/text/language"
)
type (
@@ -292,6 +293,16 @@ func (svc page) Create(ctx context.Context, new *types.Page) (*types.Page, error
return err
}
// i18n
if contentLang := locale.GetContentLanguageFromContext(ctx); contentLang != language.Und {
tt := new.EncodeTranslations()
tt.SetLanguage(locale.GetAcceptLanguageFromContext(ctx))
err = svc.locale.Upsert(ctx, tt)
if err != nil {
return err
}
}
if err = label.Create(ctx, s, new); err != nil {
return
}
@@ -361,11 +372,13 @@ func (svc page) updater(ctx context.Context, namespaceID, pageID uint64, action
}
// i18n
tt := p.EncodeTranslations()
tt.SetLanguage(locale.GetAcceptLanguageFromContext(ctx))
err = svc.locale.Upsert(ctx, tt)
if err != nil {
return err
if contentLang := locale.GetContentLanguageFromContext(ctx); contentLang != language.Und {
tt := p.EncodeTranslations()
tt.SetLanguage(locale.GetAcceptLanguageFromContext(ctx))
err = svc.locale.Upsert(ctx, tt)
if err != nil {
return err
}
}
if changes&pageLabelsChanged > 0 {
+22 -1
View File
@@ -15,8 +15,9 @@ package types
import (
"fmt"
"github.com/cortezaproject/corteza-server/pkg/locale"
"strconv"
"github.com/cortezaproject/corteza-server/pkg/locale"
)
type (
@@ -48,6 +49,26 @@ var (
Resource: ModuleFieldResourceTranslationType,
Path: "label",
}
LocaleKeyModuleFieldDescriptionView = LocaleKey{
Name: "descriptionView",
Resource: ModuleFieldResourceTranslationType,
Path: "meta.description.view",
}
LocaleKeyModuleFieldDescriptionEdit = LocaleKey{
Name: "descriptionEdit",
Resource: ModuleFieldResourceTranslationType,
Path: "meta.description.edit",
}
LocaleKeyModuleFieldHintView = LocaleKey{
Name: "hintView",
Resource: ModuleFieldResourceTranslationType,
Path: "meta.hint.view",
}
LocaleKeyModuleFieldHintEdit = LocaleKey{
Name: "hintEdit",
Resource: ModuleFieldResourceTranslationType,
Path: "meta.hint.edit",
}
LocaleKeyModuleFieldValidatorError = LocaleKey{
Name: "validatorError",
Resource: ModuleFieldResourceTranslationType,
+4
View File
@@ -17,4 +17,8 @@ locale:
skipSvc: true
keys:
- label
# - { name: descriptionView, path: meta.description.view, custom: true }
# - { name: descriptionEdit, path: meta.description.edit, custom: true }
# - { name: hintView, path: meta.hint.view, custom: true }
# - { name: hintEdit, path: meta.hint.edit, custom: true }
- { name: validatorError, path: "expression.validator.{{validatorID}}.error", custom: true, customHandler: validatorError }
+2 -2
View File
@@ -142,7 +142,7 @@ func (se *storeEncoder) Prepare(ctx context.Context, ee ...*envoy.ResourceState)
case *resource.RbacRule:
err = f(newRbacRuleFromResource(res, se.cfg), ers)
case *resource.ResourceTranslation:
err = f(newResourceTranslationFromResource(res, se.cfg), ers)
// err = f(newResourceTranslationFromResource(res, se.cfg), ers)
// Automation resources
case *resource.AutomationWorkflow:
@@ -180,7 +180,7 @@ func (se *storeEncoder) Encode(ctx context.Context, p envoy.Provider) error {
}
if err != nil {
return se.WrapError("encode", ers.Res, err)
//return se.WrapError("encode", ers.Res, err)
}
}
})
@@ -32,7 +32,7 @@ func migrateResourceTranslations(ctx context.Context, log *zap.Logger, s store.S
)
// might be useful when developing or debugging migration
//_ = store.TruncateResourceTranslations(ctx, s)
_ = store.TruncateResourceTranslations(ctx, s)
set, _, err := store.SearchResourceTranslations(ctx, s, sysTypes.ResourceTranslationFilter{})
set.Walk(func(r *sysTypes.ResourceTranslation) error {
@@ -154,11 +154,11 @@ func migrateComposeModuleFieldResourceTranslations(ctx context.Context, s store.
tt = append(tt, makeResourceTranslation(res, fmt.Sprintf("expression.validator.%d.error", validatorID), res.Name))
}
if update {
if err = store.CreateResourceTranslation(ctx, s, tt...); err != nil {
return
}
if err = store.CreateResourceTranslation(ctx, s, tt...); err != nil {
return
}
if update {
if err = store.UpdateComposeModuleField(ctx, s, res); err != nil {
return
}