Implement res. tr. for compose page & module
This commit is contained in:
@@ -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
@@ -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 {
|
||||
|
||||
Generated
+22
-1
@@ -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,
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user