=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/appmanager/AppManager.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/appmanager/AppManager.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/appmanager/AppManager.java 2015-08-18 20:08:20 +0000 @@ -54,6 +54,14 @@ * @return list of installed apps */ List getApps(); + + /** + * Returns the app with the given key (folder name). + * + * @param key the app key. + * @return the app with the given key. + */ + App getApp( String key ); List getAccessibleApps(); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/appmanager/DefaultAppManager.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/appmanager/DefaultAppManager.java 2015-04-03 07:01:36 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/appmanager/DefaultAppManager.java 2015-08-18 20:08:20 +0000 @@ -93,6 +93,21 @@ return apps; } + + public App getApp( String key ) + { + List apps = getApps(); + + for ( App app : apps ) + { + if ( key.equals( app.getKey() ) ) + { + return app; + } + } + + return null; + } @Override public List getAccessibleApps() === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties 2015-07-31 10:03:58 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties 2015-08-18 20:08:20 +0000 @@ -218,6 +218,7 @@ minus=Minus no_of_days=No of days variables=Variables +open=Open #-- Relative periods -----------------------------------------------------------# === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AppController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AppController.java 2015-07-10 19:12:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AppController.java 2015-08-18 20:08:20 +0000 @@ -97,6 +97,20 @@ renderService.toJson( response.getOutputStream(), apps ); } + @RequestMapping( method = RequestMethod.GET ) + public void getAppByKey( @RequestParam String key, HttpServletRequest request, HttpServletResponse response ) throws IOException + { + App app = appManager.getApp( key ); + + if ( app == null ) + { + response.sendError( HttpServletResponse.SC_NOT_FOUND ); + return; + } + + renderService.toJson( response.getOutputStream(), app ); + } + @RequestMapping( method = RequestMethod.POST ) @ResponseStatus( HttpStatus.NO_CONTENT ) @PreAuthorize( "hasRole('ALL') or hasRole('M_dhis-web-maintenance-appmanager')" ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/java/org/hisp/dhis/appmanager/action/DeleteAppAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/java/org/hisp/dhis/appmanager/action/DeleteAppAction.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/java/org/hisp/dhis/appmanager/action/DeleteAppAction.java 2015-08-18 20:08:20 +0000 @@ -40,10 +40,13 @@ public class DeleteAppAction implements Action { - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - + private I18n i18n; + + public void setI18n( I18n i18n ) + { + this.i18n = i18n; + } + @Autowired private AppManager appManager; @@ -51,13 +54,6 @@ // Input & Output // ------------------------------------------------------------------------- - private I18n i18n; - - public void setI18n( I18n i18n ) - { - this.i18n = i18n; - } - private String appName; public void setAppName( String appName ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/resources/org/hisp/dhis/appmanager/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/resources/org/hisp/dhis/appmanager/i18n_module.properties 2015-06-11 08:29:55 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/resources/org/hisp/dhis/appmanager/i18n_module.properties 2015-08-18 20:08:20 +0000 @@ -11,12 +11,12 @@ appmanager_install_success=App installed successfully appmanager_manifest_not_found=Manifest file not found in app appmanager_not_zip=App is not a valid ZIP archive -appmanager_confirm_delete=Are you sure to delete this app? +appmanager_confirm_delete=Are you sure you want to delete this app? appmanager_invalid_json=Invalid JSON syntax in manifest file appmanager_could_not_read_file_check_server_permissions=Could not read app files, check server permissions appmanager_delete_success=App deleted successfully appmanager_management=Manage Installed Apps -appmanager_appname=Application name +appmanager_appname=App name appmanager_you_have_no_apps_installed=You have no apps installed at the moment appmanager_author=Author appmanager_version=Version === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/appSettings.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/appSettings.vm 2015-06-11 08:29:55 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/appSettings.vm 2015-08-18 20:08:20 +0000 @@ -12,19 +12,13 @@ menuItemActiveClass: 'contextMenuItemActive' }); }); - - function removeApp( args ) { - deleteApp( args.id, args.name ); - } - - var i18n_confirm_delete = '$encoder.jsEscape( $i18n.getString( "appmanager_confirm_delete" ) , "'")';

$i18n.getString( "appmanager_settings" )

@@ -36,31 +30,3 @@   $i18n.getString( "appmanager_set_to_default" ) - -

$i18n.getString( "appmanager_management" )

- - - - - -
- - - - - - - - - - - #foreach( $app in $appList ) - - - - - #end - -
$i18n.getString( "appmanager_appname" )$i18n.getString( "version" )
$encoder.jsEncode( $app.name )$app.version
-
- === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/index.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/index.vm 2014-03-10 12:34:15 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/index.vm 2015-08-18 20:08:20 +0000 @@ -15,14 +15,47 @@ #appStoreLink { font-size: 15px; color: #777; - border-bottom: 1px solid #ccc; - padding-bottom: 10px; + padding-bottom: 20px; width: auto; max-width: 460px; } -

$i18n.getString( "dhis-web-maintenance-appmanager" ) #*openHelp( "appManager" )*#

+ + +

$i18n.getString( "dhis-web-maintenance-appmanager" )

+ +#if( $!appStoreUrl ) + +#end
#if( ${settingsValid} == true ) @@ -37,23 +70,39 @@ #end
-#if( $!appStoreUrl ) - -#end + -
    #if( $appList.isEmpty() ) -
  • $i18n.getString( "appmanager_you_have_no_apps_installed" )
  • +
    $i18n.getString( "appmanager_you_have_no_apps_installed" )
    #else - #foreach( $app in $appList ) -
  • - - - ${app.name} -
    - $i18n.getString( "appmanager_author" ): ${app.developer.name}
    - $i18n.getString( "appmanager_version" ): ${app.version} -
  • - #end + + + + +
    + + + + + + + + + + + #foreach( $app in $appList ) + + + + + #end + +
    $i18n.getString( "appmanager_appname" )$i18n.getString( "version" )
    $encoder.jsEncode( $app.name )$app.version
    +
    #end -
+ === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/deleteApp.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/deleteApp.js 2015-01-16 19:19:53 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/deleteApp.js 2015-08-18 20:08:20 +0000 @@ -1,8 +1,4 @@ -function deleteApp( appId, appName ) { - removeItem(appId, appName, i18n_confirm_delete, "deleteApp.action?appName=" + appName); -} - function setAppConfig() { var config = { === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/uploadApp.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/uploadApp.js 2015-04-14 09:21:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-appmanager/src/main/webapp/dhis-web-maintenance-appmanager/javascript/uploadApp.js 2015-08-18 20:08:20 +0000 @@ -38,3 +38,7 @@ xhr.send(fd); }, false); }); + +function deleteApp( appId, appName ) { + removeItem(appId, appName, i18n_confirm_delete, "deleteApp.action?appName=" + appName); +}