You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2013/05/03 01:22:13 UTC
svn commit: r1478605 - in /incubator/ambari/trunk: ./ ambari-web/app/
ambari-web/app/controllers/main/host/
ambari-web/app/controllers/main/service/
ambari-web/app/controllers/main/service/info/ ambari-web/app/data/
ambari-web/app/utils/ ambari-web/app...
Author: yusaku
Date: Thu May 2 23:22:11 2013
New Revision: 1478605
URL: http://svn.apache.org/r1478605
Log:
AMBARI-2070. Changing service directories should popup a confirmation/warning dialog upon save. (yusaku)
Modified:
incubator/ambari/trunk/CHANGES.txt
incubator/ambari/trunk/ambari-web/app/controllers/main/host/details.js
incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
incubator/ambari/trunk/ambari-web/app/controllers/main/service/item.js
incubator/ambari/trunk/ambari-web/app/data/config_properties.js
incubator/ambari/trunk/ambari-web/app/messages.js
incubator/ambari/trunk/ambari-web/app/utils/host_progress_popup.js
incubator/ambari/trunk/ambari-web/app/views/common/modal_popup.js
Modified: incubator/ambari/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/CHANGES.txt?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/CHANGES.txt (original)
+++ incubator/ambari/trunk/CHANGES.txt Thu May 2 23:22:11 2013
@@ -283,6 +283,9 @@ Trunk (unreleased changes):
IMPROVEMENTS
+ AMBARI-2070. Changing service directories should popup a confirmation/warning
+ dialog upon save. (yusaku)
+
AMBARI-2061. HBase Heatmaps: clean up labels and units. (yusaku)
AMBARI-2042. Update Ambari logo. (yusaku)
Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/host/details.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/host/details.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/host/details.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/host/details.js Thu May 2 23:22:11 2013
@@ -95,7 +95,7 @@ App.MainHostDetailsController = Em.Contr
self.sendCommandToServer('/hosts/' + self.get('content.hostName') + '/host_components/' + component.get('componentName').toUpperCase(),{
RequestInfo : {
- "context" : Em.I18n.t('requestInfo.startHostComponent') + " " + component.get('componentName').toUpperCase()
+ "context" : Em.I18n.t('requestInfo.startHostComponent') + " " + component.get('displayName')
},
Body:{
HostRoles:{
@@ -136,7 +136,7 @@ App.MainHostDetailsController = Em.Contr
App.showConfirmationPopup(function() {
self.sendCommandToServer('/hosts/' + self.get('content.hostName') + '/host_components/' + component.get('componentName').toUpperCase(),{
RequestInfo : {
- "context" : Em.I18n.t('requestInfo.upgradeHostComponent') + " " + component.get('componentName').toUpperCase()
+ "context" : Em.I18n.t('requestInfo.upgradeHostComponent') + " " + component.get('displayName')
},
Body:{
HostRoles:{
@@ -176,7 +176,7 @@ App.MainHostDetailsController = Em.Contr
var component = event.context;
self.sendCommandToServer('/hosts/' + self.get('content.hostName') + '/host_components/' + component.get('componentName').toUpperCase(),{
RequestInfo : {
- "context" : Em.I18n.t('requestInfo.stopHostComponent')+ " " + component.get('componentName').toUpperCase()
+ "context" : Em.I18n.t('requestInfo.stopHostComponent')+ " " + component.get('displayName')
},
Body:{
HostRoles:{
@@ -215,6 +215,7 @@ App.MainHostDetailsController = Em.Contr
var self = this;
var component = event.context;
var componentName = component.get('componentName').toUpperCase().toString();
+ var displayName = component.get('displayName');
App.ModalPopup.show({
primary: Em.I18n.t('yes'),
@@ -230,7 +231,7 @@ App.MainHostDetailsController = Em.Contr
this.hide();
self.sendCommandToServer('/hosts?Hosts/host_name=' + self.get('content.hostName'), {
RequestInfo: {
- "context": Em.I18n.t('requestInfo.installHostComponent') + " " + componentName
+ "context": Em.I18n.t('requestInfo.installHostComponent') + " " + displayName
},
Body: {
host_components: [
@@ -249,7 +250,7 @@ App.MainHostDetailsController = Em.Contr
self.sendCommandToServer('/host_components?HostRoles/host_name=' + self.get('content.hostName') + '\&HostRoles/component_name=' + componentName + '\&HostRoles/state=INIT', {
RequestInfo: {
- "context": Em.I18n.t('requestInfo.installNewHostComponent') + " " + componentName
+ "context": Em.I18n.t('requestInfo.installNewHostComponent') + " " + displayName
},
Body: {
HostRoles: {
@@ -291,6 +292,7 @@ App.MainHostDetailsController = Em.Contr
var self = this;
var component = event.context;
var componentName = component.get('componentName').toUpperCase().toString();
+ var displayName = component.get('displayName');
App.ModalPopup.show({
primary: Em.I18n.t('yes'),
@@ -306,7 +308,7 @@ App.MainHostDetailsController = Em.Contr
this.hide();
self.sendCommandToServer('/hosts/' + self.get('content.hostName') + '/host_components/' + component.get('componentName').toUpperCase(), {
RequestInfo: {
- "context": Em.I18n.t('requestInfo.installHostComponent') + " " + componentName
+ "context": Em.I18n.t('requestInfo.installHostComponent') + " " + displayName
},
Body: {
HostRoles: {
Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js Thu May 2 23:22:11 2013
@@ -634,116 +634,161 @@ App.MainServiceInfoConfigsController = E
}
var header;
var message;
+ var messageClass;
var value;
var flag = false;
var runningHosts = null;
var runningComponentCount = 0;
+
+ var dfd = $.Deferred();
+ var self = this;
+ var serviceName = this.get('content.serviceName');
+ var displayName = this.get('content.displayName');
+
if (App.supports.hostOverrides ||
- (this.get('content.serviceName') !== 'HDFS' && this.get('content.isStopped') === true) ||
- ((this.get('content.serviceName') === 'HDFS') && this.get('content.isStopped') === true && (!App.Service.find().someProperty('id', 'MAPREDUCE') || App.Service.find('MAPREDUCE').get('isStopped')))) {
- var result = this.saveServiceConfigProperties();
- App.router.get('clusterController').updateClusterData();
- flag = result.flag;
- if (result.flag === true) {
- header = App.supports.hostOverrides ? Em.I18n.t('services.service.config.restartService') : Em.I18n.t('services.service.config.startService');
- message = Em.I18n.t('services.service.config.saveConfig');
+ (serviceName !== 'HDFS' && this.get('content.isStopped') === true) ||
+ ((serviceName === 'HDFS') && this.get('content.isStopped') === true && (!App.Service.find().someProperty('id', 'MAPREDUCE') || App.Service.find('MAPREDUCE').get('isStopped')))) {
+
+ var dirChanged = false;
+
+ if (serviceName === 'HDFS') {
+ var hdfsConfigs = self.get('stepConfigs').findProperty('serviceName', 'HDFS').get('configs');
+ if (
+ hdfsConfigs.findProperty('name', 'dfs_name_dir').get('isNotDefaultValue') ||
+ hdfsConfigs.findProperty('name', 'fs_checkpoint_dir').get('isNotDefaultValue') ||
+ hdfsConfigs.findProperty('name', 'dfs_data_dir').get('isNotDefaultValue')
+ ) {
+ dirChanged = true;
+ }
+ } else if (serviceName === 'MAPREDUCE') {
+ var mapredConfigs = self.get('stepConfigs').findProperty('serviceName', 'MAPREDUCE').get('configs');
+ if (
+ mapredConfigs.findProperty('name', 'mapred_local_dir').get('isNotDefaultValue') ||
+ mapredConfigs.findProperty('name', 'mapred_system_dir').get('isNotDefaultValue')
+ ) {
+ dirChanged = true;
+ }
+ }
+
+ if (dirChanged) {
+ App.showConfirmationPopup(function() {
+ dfd.resolve();
+ }, Em.I18n.t('services.service.config.confirmDirectoryChange').format(displayName));
} else {
- header = Em.I18n.t('common.failure');
- message = result.message;
- value = result.value;
+ dfd.resolve();
}
+
+ dfd.done(function() {
+ var result = self.saveServiceConfigProperties();
+ App.router.get('clusterController').updateClusterData();
+ flag = result.flag;
+ if (result.flag === true) {
+ header = Em.I18n.t('services.service.config.saved');
+ message = Em.I18n.t('services.service.config.saved.message');
+ messageClass = 'alert alert-success';
+ } else {
+ header = Em.I18n.t('common.failure');
+ message = result.message;
+ messageClass = 'alert alert-error';
+ value = result.value;
+ }
+ });
} else {
var rhc;
if (this.get('content.serviceName') !== 'HDFS' || (this.get('content.serviceName') === 'HDFS' && !App.Service.find().someProperty('id', 'MAPREDUCE'))) {
rhc = this.getRunningHostComponents([this.get('content')]);
- header = Em.I18n.t('services.service.config.stopService');
+ header = Em.I18n.t('services.service.config.notSaved');
message = Em.I18n.t('services.service.config.msgServiceStop');
} else {
rhc = this.getRunningHostComponents([this.get('content'), App.Service.find('MAPREDUCE')]);
- header = Em.I18n.t('services.service.config.stopService');
+ header = Em.I18n.t('services.service.config.notSaved');
message = Em.I18n.t('services.service.config.msgHDFSMapRServiceStop');
}
+ messageClass = 'alert alert-error';
runningHosts = rhc.runningHosts;
runningComponentCount = rhc.runningComponentCount;
+ dfd.resolve();
}
-
- var self = this;
- App.ModalPopup.show({
- header: header,
- primary: Em.I18n.t('ok'),
- secondary: null,
- onPrimary: function () {
- this.hide();
- if (flag) {
- self.loadStep();
- }
- },
- bodyClass: Ember.View.extend({
- flag: flag,
- message: message,
- runningHosts: runningHosts,
- runningComponentCount: runningComponentCount,
- siteProperties: value,
- getDisplayMessage: function () {
- var displayMsg = [];
- var siteProperties = this.get('siteProperties');
- if (siteProperties) {
- siteProperties.forEach(function (_siteProperty) {
- var displayProperty = _siteProperty.siteProperty;
- var displayNames = _siteProperty.displayNames;
- /////////
- if (displayNames && displayNames.length) {
- if (displayNames.length === 1) {
- displayMsg.push(displayProperty + Em.I18n.t('as') + displayNames[0]);
- } else {
- var name;
- displayNames.forEach(function (_name, index) {
- if (index === 0) {
- name = _name;
- } else if (index === siteProperties.length - 1) {
- name = name + Em.I18n.t('and') + _name;
- } else {
- name = name + ', ' + _name;
- }
- }, this);
- displayMsg.push(displayProperty + Em.I18n.t('as') + name);
- }
- } else {
- displayMsg.push(displayProperty);
- }
- }, this);
+ dfd.done(function () {
+ App.ModalPopup.show({
+ header: header,
+ primary: Em.I18n.t('ok'),
+ secondary: null,
+ onPrimary: function () {
+ this.hide();
+ if (flag) {
+ self.loadStep();
}
- return displayMsg;
+ },
+ bodyClass: Ember.View.extend({
+ flag: flag,
+ message: message,
+ messageClass: messageClass,
+ runningHosts: runningHosts,
+ runningComponentCount: runningComponentCount,
+ siteProperties: value,
+ getDisplayMessage: function () {
+ var displayMsg = [];
+ var siteProperties = this.get('siteProperties');
+ if (siteProperties) {
+ siteProperties.forEach(function (_siteProperty) {
+ var displayProperty = _siteProperty.siteProperty;
+ var displayNames = _siteProperty.displayNames;
+ /////////
+ if (displayNames && displayNames.length) {
+ if (displayNames.length === 1) {
+ displayMsg.push(displayProperty + Em.I18n.t('as') + displayNames[0]);
+ } else {
+ var name;
+ displayNames.forEach(function (_name, index) {
+ if (index === 0) {
+ name = _name;
+ } else if (index === siteProperties.length - 1) {
+ name = name + Em.I18n.t('and') + _name;
+ } else {
+ name = name + ', ' + _name;
+ }
+ }, this);
+ displayMsg.push(displayProperty + Em.I18n.t('as') + name);
+
+ }
+ } else {
+ displayMsg.push(displayProperty);
+ }
+ }, this);
+ }
+ return displayMsg;
- }.property('siteProperties'),
- getRunningHostsMessage: function () {
- return Em.I18n.t('services.service.config.stopService.runningHostComponents').format(this.get('runningComponentCount'), this.get('runningHosts.length'));
- }.property('runningComponentCount', 'runningHosts.length'),
- template: Ember.Handlebars.compile([
- '<h5>{{view.message}}</h5>',
- '{{#unless view.flag}}',
- ' <br/>',
- ' <div class="pre-scrollable" style="max-height: 250px;">',
- ' <ul>',
- ' {{#each val in view.getDisplayMessage}}',
- ' <li>',
- ' {{val}}',
- ' </li>',
- ' {{/each}}',
- ' </ul>',
- ' </div>',
- '{{/unless}}',
- '{{#if view.runningHosts}}',
- ' <i class="icon-warning-sign"></i> {{view.getRunningHostsMessage}}',
- ' <table class="table-striped running-host-components-table">',
- ' <tr><th>{{t common.host}}</th><th>{{t common.components}}</th></tr>',
- ' {{#each host in view.runningHosts}}',
- ' <tr><td>{{host.name}}</td><td>{{host.components}}</td></tr>',
- ' {{/each}}',
- ' </table>',
- '{{/if}}'
- ].join('\n'))
+ }.property('siteProperties'),
+ getRunningHostsMessage: function () {
+ return Em.I18n.t('services.service.config.stopService.runningHostComponents').format(this.get('runningComponentCount'), this.get('runningHosts.length'));
+ }.property('runningComponentCount', 'runningHosts.length'),
+ template: Ember.Handlebars.compile([
+ '<div class="{{unbound view.messageClass}}" style="margin-bottom:0">{{view.message}}</div>',
+ '{{#unless view.flag}}',
+ ' <br/>',
+ ' <div class="pre-scrollable" style="max-height: 250px;">',
+ ' <ul>',
+ ' {{#each val in view.getDisplayMessage}}',
+ ' <li>',
+ ' {{val}}',
+ ' </li>',
+ ' {{/each}}',
+ ' </ul>',
+ ' </div>',
+ '{{/unless}}',
+ '{{#if view.runningHosts}}',
+ ' <i class="icon-warning-sign"></i> {{view.getRunningHostsMessage}}',
+ ' <table class="table-striped running-host-components-table">',
+ ' <tr><th>{{t common.host}}</th><th>{{t common.components}}</th></tr>',
+ ' {{#each host in view.runningHosts}}',
+ ' <tr><td>{{host.name}}</td><td>{{host.components}}</td></tr>',
+ ' {{/each}}',
+ ' </table>',
+ '{{/if}}'
+ ].join('\n'))
+ })
})
});
},
Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/service/item.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/service/item.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/service/item.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/service/item.js Thu May 2 23:22:11 2013
@@ -95,9 +95,9 @@ App.MainServiceItemController = Em.Contr
startStopPopupPrimary: function(serviceHealth) {
var requestInfo = "";
if(serviceHealth == "STARTED"){
- requestInfo = 'Start service ' + this.get('content.serviceName').toUpperCase() ;
+ requestInfo = 'Start ' + this.get('content.displayName');
}else{
- requestInfo = 'Stop service ' + this.get('content.serviceName').toUpperCase() ;
+ requestInfo = 'Stop ' + this.get('content.displayName');
}
App.ajax.send({
Modified: incubator/ambari/trunk/ambari-web/app/data/config_properties.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/config_properties.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/config_properties.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/config_properties.js Thu May 2 23:22:11 2013
@@ -576,7 +576,7 @@ module.exports =
"defaultValue": "",
"defaultDirectory": "/hadoop/mapred",
"displayType": "directories",
- "isReconfigurable": false,
+ "isReconfigurable": true,
"isVisible": true,
"domain": "tasktracker-global",
"serviceName": "MAPREDUCE",
@@ -812,9 +812,8 @@ module.exports =
"description": "",
"defaultValue": "/mapred/system",
"displayType": "directories",
- "isReconfigurable": false,
+ "isReconfigurable": true,
"isVisible": true,
- "isRequired": false,
"domain": "global",
"serviceName": "MAPREDUCE",
"category": "Advanced"
Modified: incubator/ambari/trunk/ambari-web/app/messages.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/messages.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/messages.js (original)
+++ incubator/ambari/trunk/ambari-web/app/messages.js Thu May 2 23:22:11 2013
@@ -135,20 +135,20 @@ Em.I18n.translations = {
'requestInfo.startServices':'Start Services',
'requestInfo.stopAllServices':'Stop All Services',
'requestInfo.startAllServices':'Start All Services',
- 'requestInfo.startHostComponent':'Start Component',
+ 'requestInfo.startHostComponent':'Start',
'requestInfo.startHostComponents':'Start Components',
- 'requestInfo.upgradeHostComponent':'Upgrade Component',
- 'requestInfo.stopHostComponent':'Stop Component',
- 'requestInfo.installHostComponent':'Install Component',
- 'requestInfo.installNewHostComponent':'Install New Component',
- 'requestInfo.stopService':'Stop Service',
- 'requestInfo.startService':'Start Service',
+ 'requestInfo.upgradeHostComponent':'Upgrade',
+ 'requestInfo.stopHostComponent':'Stop',
+ 'requestInfo.installHostComponent':'Install',
+ 'requestInfo.installNewHostComponent':'Install',
+ 'requestInfo.stopService':'Stop',
+ 'requestInfo.startService':'Start',
'hostPopup.noServicesToShow':'No services to show',
'hostPopup.noHostsToShow':'No hosts to show',
'hostPopup.noTasksToShow':'No tasks to show',
- 'question.sure':'Are you sure {0}?',
+ 'question.sure':'Are you sure?',
'popup.highlight':'click to highlight',
'popup.confirmation.commonHeader':'Confirmation',
@@ -283,7 +283,7 @@ Em.I18n.translations = {
'Please confirm the host list and remove any hosts that you do not want to include in the cluster.',
'installer.step3.hostLog.popup.header':'Registration log for {0}',
'installer.step3.hosts.remove.popup.header':'Remove Hosts',
- 'installer.step3.hosts.remove.popup.body':' you want to remove the selected host(s)',
+ 'installer.step3.hosts.remove.popup.body':'Are you sure you want to remove the selected host(s)?',
'installer.step3.hostInformation.popup.header':'Error in retrieving host Information',
'installer.step3.hostInformation.popup.body' : 'All bootstrapped hosts registered but unable to retrieve cpu and memory related information',
'installer.step3.hostWarningsPopup.details':'Show Details',
@@ -734,19 +734,19 @@ Em.I18n.translations = {
'services.service.info.summary.nagios.noAlerts':'No alerts',
'services.service.info.summary.nagios.alerts':'Nagios service required for viewing alerts',
- 'services.service.config.startService':'Start Service',
- 'services.service.config.restartService':'Restart Service',
+ 'services.service.config.saved':'Saved Configurations Changes',
+ 'services.service.config.notSaved':'Unable to Save Configuration Changes',
'services.service.config.restartService.TooltipMessage':'<b>Restart Service</b><br>Stale configuration used by {0} components on {1} hosts:{2}',
- 'services.service.config.saveConfig':'Service configuration applied successfully',
- 'services.service.config.stopService':'Stop Service',
- 'services.service.config.msgServiceStop':'Stop the service and wait till it stops completely. Thereafter you can apply configuration changes',
- 'services.service.config.msgHDFSMapRServiceStop':'Stop HDFS and MapReduce. Wait till both of them stops completely. Thereafter you can apply configuration changes',
+ 'services.service.config.saved.message':'Service configuration saved successfully.',
+ 'services.service.config.msgServiceStop':'Could not save configuration changes. Please stop the service first. You will be able to save configuration changes after all of its components are stopped.',
+ 'services.service.config.msgHDFSMapRServiceStop':'Could not save configuration changes. Please stop both HDFS and MapReduce first. You will be able to save configuration changes after all HDFS and MapReduce components are stopped.',
'services.service.config.failCreateConfig' : 'Failure in creating service configuration',
- 'services.service.config.failSaveConfig':'Failure in applying service configuration',
- 'services.service.config.failSaveConfigHostExceptions':'Failure in applying service configuration host exceptions',
+ 'services.service.config.failSaveConfig':'Failure in saving service configuration',
+ 'services.service.config.failSaveConfigHostExceptions':'Failure in saving service configuration host exceptions',
'services.service.config.addPropertyWindow.errorMessage':'This is required',
- 'services.service.config.addPropertyWindow.error.derivedKey':'Cannot add a known derived property',
+ 'services.service.config.addPropertyWindow.error.derivedKey':'This property is already defined',
'services.service.config.stopService.runningHostComponents':'{0} components on {1} hosts are still running',
+ 'services.service.config.confirmDirectoryChange':'You are about to make changes to service directories that are core to {0}. Before you proceed, be absolutely certain of the implications and that you have taken necessary manual steps, if any, for the changes. Are you sure you want to proceed?',
'services.add.header':'Add Service Wizard',
'services.reassign.header':'Reassign Master Wizard',
Modified: incubator/ambari/trunk/ambari-web/app/utils/host_progress_popup.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/utils/host_progress_popup.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/utils/host_progress_popup.js (original)
+++ incubator/ambari/trunk/ambari-web/app/utils/host_progress_popup.js Thu May 2 23:22:11 2013
@@ -117,7 +117,7 @@ App.HostPopup = Em.Object.create({
numRunning = allServices.filterProperty("status", App.format.taskStatus("IN_PROGRESS")).length;
numRunning += allServices.filterProperty("status", App.format.taskStatus("QUEUED")).length;
numRunning += allServices.filterProperty("status", App.format.taskStatus("PENDING")).length;
- this.set("popupHeaderName", numRunning + " Background operations Running");
+ this.set("popupHeaderName", numRunning + " Background Operations Running");
},
/**
Modified: incubator/ambari/trunk/ambari-web/app/views/common/modal_popup.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/views/common/modal_popup.js?rev=1478605&r1=1478604&r2=1478605&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/views/common/modal_popup.js (original)
+++ incubator/ambari/trunk/ambari-web/app/views/common/modal_popup.js Thu May 2 23:22:11 2013
@@ -129,7 +129,7 @@ App.showReloadPopup = function(){
* @param {String} body - additional text constant. Will be placed in the popup-body
* @return {*}
*/
-App.showConfirmationPopup = function(primary, body) {
+App.showConfirmationPopup = function(primary, body, template) {
if (!primary) {
return false;
}
@@ -137,7 +137,7 @@ App.showConfirmationPopup = function(pri
primary: Em.I18n.t('yes'),
secondary: Em.I18n.t('no'),
header: Em.I18n.t('popup.confirmation.commonHeader'),
- body: Em.I18n.t('question.sure').format(body || ''),
+ body: body || 'Are you sure?',
onPrimary: function() {
this.hide();
primary();