diff --git a/ui/plugins/quota/quota.js b/ui/plugins/quota/quota.js index c4c621d238c..70bf49ebf0f 100644 --- a/ui/plugins/quota/quota.js +++ b/ui/plugins/quota/quota.js @@ -15,7 +15,6 @@ // specific language governing permissions and limitations // under the License. -var g_quotaCurrency = ''; (function (cloudStack) { cloudStack.plugins.quota = function(plugin) { plugin.ui.addSection({ @@ -25,344 +24,388 @@ var g_quotaCurrency = ''; preFilter: function(args) { return true; }, - show: function() { - var $quotaView = $('
| ').html(_l('label.name')).appendTo(statementTableHead); - $(' | ').html(_l('label.domain')).appendTo(statementTableHead); - $(' | ').html(_l('label.balance')).appendTo(statementTableHead); - $(' | ').html(_l('label.totalusage')).appendTo(statementTableHead); - $(' | ').html(_l('label.state')).appendTo(statementTableHead); - $(' | ').html(_l('label.quickview')).appendTo(statementTableHead); - statementTableHead.appendTo($('').appendTo(statementTable)); - - var statementTableBody = $(' | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ').html(quotaSummary[i].account).appendTo(statementTableBodyRow); - $(' | ').html(quotaSummary[i].domain).appendTo(statementTableBodyRow); - $(' | ').html(g_quotaCurrency + quotaSummary[i].quota).appendTo(statementTableBodyRow); - $(' | ').html(g_quotaCurrency + quotaSummary[i].balance).appendTo(statementTableBodyRow); - $(' | ').html(quotaSummary[i].state).appendTo(statementTableBodyRow); - $(' | ').html(_l('label.quickview')).addClass('quick-view reduced-hide').appendTo(statementTableBodyRow);
- statementTableBodyRow.appendTo(statementTableBody);
- }
- statementTableBody.appendTo(statementTable);
- },
- error: function(data) {
- generatedStatement.empty();
- cloudStack.dialog.notice({
- message: parseXMLHttpResponse(data)
- });
- }
- });
-
-
- generatedStatement.appendTo(statementView);
- statementView.appendTo($node);
+ sectionSelect: {
+ label: 'label.select-view'
+ },
+ sections: {
+ statement: {
+ type: 'select',
+ title: 'label.quota.statement',
+ listView: {
+ label: 'label.quota.statement',
+ fields: {
+ account: {
+ label: 'label.account',
+ truncate: true
+ },
+ domain: {
+ label: 'label.domain'
+ },
+ balance: {
+ label: 'label.quota.balance',
+ },
+ quota: {
+ label: 'label.quota.totalusage',
+ editable: true,
+ truncate: true
+ },
+ state: {
+ label: 'label.quota.state',
+ indicator: {
+ 'Enabled': 'on',
+ 'Disabled': 'off',
}
- },
- {
- 'id': 'quota-tariff',
- 'name' : 'Tariff Plan',
- 'render': function($node) {
- var tariffView = $(' ');
- var tariffViewList = $(' ');
- tariffViewList.appendTo(tariffView);
+ },
+ },
+ dataProvider: function(args) {
+ var data = {
+ page: args.page,
+ pagesize: pageSize
+ };
- var renderDateForm = function(lastDate) {
- var startDateInput = $('');
- if (lastDate) {
- startDateInput.val(lastDate);
+ // FIXME: add logic in mgmt server to filter by account
+ if (args.filterBy.search.value) {
+ data.account = args.filterBy.search.value;
+ }
+
+ $.ajax({
+ url: createURL('quotaSummary'),
+ data: data,
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var items = json.quotasummaryresponse.summary;
+ $.each(items, function(idx, item) {
+ items[idx].quota = items[idx].currency + ' ' + items[idx].quota;
+ items[idx].balance = items[idx].currency + ' ' + items[idx].balance;
+ // FIXME: state is boolean, this needs to be string?
+ if (items[idx].state) {
+ items[idx].state = 'Enabled';
+ } else {
+ items[idx].state = 'Disabled';
}
+ });
+ args.response.success({
+ data: items
+ });
+ },
+ error: function(data) {
+ cloudStack.dialog.notice({
+ message: parseXMLHttpResponse(data)
+ });
+ }
+ });
+ },
+ detailView: {
+ actions: {
+ addCredits: {
+ label: 'label.quota.add.credits',
+ messages: {
+ notification: function(args) {
+ return 'label.quota.add.credits';
+ }
+ },
+ action: function(args) {
+ // FIX add code to show add credits form and fix css to show an icon
+ }
+ },
- startDateInput.datepicker({
- defaultDate: new Date(),
- changeMonth: true,
- dateFormat: "yy-mm-dd",
- onClose: function (selectedDate) {
- if (!selectedDate) {
- return;
- }
- tariffViewList.empty();
- renderDateForm(selectedDate);
- renderTariffTable(selectedDate);
- }
- });
- startDateInput.appendTo($(' ').html('Effective Date ').appendTo(tariffViewList)); - }; + quotaStatementByDates: { + label: 'label.quota.statement.bydates', + messages: { + notification: function(args) { + return 'label.quota.statement.bydates'; + } + }, + action: function(args) { + // FIX add code to show form start/end date with datepicker injected, fix css + } + } - var renderTariffTable = function(startDate) { - var tariffTable = $('
|