@@ -29,7 +29,8 @@ angular.module('controllers').controller('DisplayLanguagesCtrl',
2929 if ( hasEnabledLanguages ( languages ) ) {
3030 return languages . some ( translation => translation . enabled !== false && translation . locale === doc . code ) ;
3131 }
32- return doc . enabled ;
32+ $scope . error = $translate . instant ( 'language.settings.invalid' ) ;
33+ return true ;
3334 } ;
3435
3536 const createLocaleModel = function ( doc , totalTranslations , languages ) {
@@ -51,6 +52,11 @@ angular.module('controllers').controller('DisplayLanguagesCtrl',
5152 } ;
5253
5354 const updateLanguageSettings = ( languages , doc , enabled ) => {
55+ if ( ! languages ) {
56+ $log . error ( 'No languages settings found.' ) ;
57+ return ;
58+ }
59+
5460 let language = languages . find ( language => language . locale === doc . code ) ;
5561 if ( ! language ) {
5662 language = { locale : doc . code } ;
@@ -60,21 +66,12 @@ angular.module('controllers').controller('DisplayLanguagesCtrl',
6066 return UpdateSettings ( { languages } ) ;
6167 } ;
6268
63- const updateLanguageDoc = ( doc , enabled ) => {
64- doc . enabled = enabled ;
65- return DB ( ) . put ( doc ) ;
66- } ;
67-
6869 const setLanguageStatus = function ( doc , enabled ) {
69- return Settings ( ) . then ( settings => {
70- if ( hasEnabledLanguages ( settings . languages ) ) {
71- return updateLanguageSettings ( settings . languages , doc , enabled ) ;
72- }
73-
74- return updateLanguageDoc ( doc , enabled ) ;
75- } ) . catch ( err => {
76- $log . error ( 'Error updating translation doc' , err ) ;
77- } ) ;
70+ return Settings ( )
71+ . then ( settings => updateLanguageSettings ( settings . languages , doc , enabled ) )
72+ . catch ( err => {
73+ $log . error ( 'Error updating translation doc' , err ) ;
74+ } ) ;
7875 } ;
7976
8077 const getTranslationKeys = doc => {
@@ -89,14 +86,14 @@ angular.module('controllers').controller('DisplayLanguagesCtrl',
8986
9087 const getLanguages = function ( ) {
9188 $scope . loading = true ;
92- $q . all ( [
93- DB ( ) . query ( 'medic-client/doc_by_type' , {
94- startkey : [ 'translations ', false ] ,
95- endkey : [ 'translations' , true ] ,
96- include_docs : true
97- } ) ,
98- Settings ( )
99- ] )
89+ $q
90+ . all ( [
91+ DB ( ) . query ( 'medic-client/doc_by_type ', {
92+ key : [ 'translations' ] ,
93+ include_docs : true
94+ } ) ,
95+ Settings ( )
96+ ] )
10097 . then ( ( [ translations , settings ] ) => {
10198 const totalTranslations = countTotalTranslations ( translations . rows ) ;
10299 $scope . loading = false ;
@@ -138,6 +135,7 @@ angular.module('controllers').controller('DisplayLanguagesCtrl',
138135 $scope . enableLanguage = function ( doc ) {
139136 return setLanguageStatus ( doc , true ) ;
140137 } ;
138+
141139 $scope . prepareImport = function ( doc ) {
142140 Modal ( {
143141 templateUrl : 'templates/import_translation.html' ,
0 commit comments