Skip to content

Commit 974538c

Browse files
fahimalizainSpace
authored andcommitted
feat: Translations Support
fix: remove redundant resolver check Merge branch 'ROMMAN-T-289-kick-default-resolver' into ROMMAN-T-481-translations feat: Translations Support Co-authored-by: Fahim Ali Zain <[email protected]> Merge-request: ROMMAN-MR-177 Merged-by: Fahim Ali Zain <[email protected]>
1 parent ad0e8df commit 974538c

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

frappe_graphql/utils/resolver/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from .root_query import setup_root_query_resolvers
77
from .link_field import setup_link_field_resolvers
88
from .child_tables import setup_child_table_resolvers
9+
from .translate import setup_translatable_resolvers
910
from .utils import get_singular_doctype
1011

1112

@@ -26,6 +27,7 @@ def setup_default_resolvers(schema: GraphQLSchema):
2627
setup_link_field_resolvers(meta, gql_type)
2728
setup_select_field_resolvers(meta, gql_type)
2829
setup_child_table_resolvers(meta, gql_type)
30+
setup_translatable_resolvers(meta, gql_type)
2931

3032
for cmd in doctype_resolver_processors:
3133
frappe.get_attr(cmd)(meta=meta, gql_type=gql_type)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from graphql import GraphQLResolveInfo, GraphQLType
2+
3+
import frappe
4+
from frappe.model.meta import Meta
5+
6+
7+
def setup_translatable_resolvers(meta: Meta, gql_type: GraphQLType):
8+
for df_fieldname in meta.get_translatable_fields():
9+
if df_fieldname not in gql_type.fields:
10+
continue
11+
12+
gql_field = gql_type.fields[df_fieldname]
13+
gql_field.resolve = _translatable_resolver
14+
15+
16+
def _translatable_resolver(obj, info: GraphQLResolveInfo, **kwargs):
17+
value = obj.get(info.field_name)
18+
if isinstance(value, str) and value:
19+
value = frappe._(value)
20+
21+
return value

0 commit comments

Comments
 (0)