L.ui.view.extend({ title: L.tr('Flash operations'), testUpgrade: L.rpc.declare({ object: 'luci2.system', method: 'upgrade_test', expect: { '': { } } }), startUpgrade: L.rpc.declare({ object: 'luci2.system', method: 'upgrade_start', params: [ 'keep' ] }), cleanUpgrade: L.rpc.declare({ object: 'luci2.system', method: 'upgrade_clean' }), restoreBackup: L.rpc.declare({ object: 'luci2.system', method: 'backup_restore' }), cleanBackup: L.rpc.declare({ object: 'luci2.system', method: 'backup_clean' }), getBackupConfig: L.rpc.declare({ object: 'luci2.system', method: 'backup_config_get', expect: { config: '' } }), setBackupConfig: L.rpc.declare({ object: 'luci2.system', method: 'backup_config_set', params: [ 'data' ] }), listBackup: L.rpc.declare({ object: 'luci2.system', method: 'backup_list', expect: { files: [ ] } }), testReset: L.rpc.declare({ object: 'luci2.system', method: 'reset_test', expect: { supported: false } }), startReset: L.rpc.declare({ object: 'luci2.system', method: 'reset_start' }), handleFlashUpload: function() { var self = this; L.ui.upload( L.tr('Firmware upload'), L.tr('Select the sysupgrade image to flash and click "%s" to proceed.').format(L.tr('Ok')), { filename: '/tmp/firmware.bin', success: function(info) { self.handleFlashVerify(info); } } ); }, handleFlashVerify: function(info) { var self = this; self.testUpgrade().then(function(res) { if (res.code == 0) { L.ui.dialog( L.tr('Verify firmware'), [ $('

').text(L.tr('The firmware image was uploaded completely. Please verify the checksum and file size below, then click "%s" to start the flash procedure.').format(L.tr('Ok'))), $('