diff options
-rw-r--r-- | apk-model.lua | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/apk-model.lua b/apk-model.lua index 4d2cb79..59c994b 100644 --- a/apk-model.lua +++ b/apk-model.lua @@ -113,7 +113,8 @@ local repository = function() end -- Find all the packages that this package depends on (using recursion) -function find_dependents(package) +local find_dependents +find_dependents = function(package) repo = repo or repository() if not repo[package] then return {} @@ -150,6 +151,11 @@ local function upgrade_available(package) return retval end +local resetpermissions = function(self) + if self.sessiondata then self.sessiondata.menu = nil end + if self.sessiondata then self.sessiondata.permissions = nil end +end + -- ################################################################################ -- PUBLIC FUNCTIONS @@ -208,8 +214,7 @@ delete_package = function(self, deleterequest) if success then deleterequest.descr = res -- Destroy menu and permissions info in session so recalculated - if session then session.menu = nil end - if session then session.permissions = nil end + resetpermissions(self) else deleterequest.errtxt = "Failed to delete package." end @@ -229,8 +234,7 @@ install_package = function(self, installrequest) if success then installrequest.descr = res -- Destroy menu and permissions info in session so recalculated - if session then session.menu = nil end - if session then session.permissions = nil end + resetpermissions(self) else installrequest.errtxt = "Failed to install package." end @@ -252,6 +256,8 @@ upgrade_package = function(self, upgraderequest) else upgraderequest.errtxt = "Failed to upgrade package." end + -- Destroy menu and permissions info in session so recalculated + resetpermissions(self) return upgraderequest end @@ -291,6 +297,8 @@ upgrade_all = function(self, upgraderequest) else upgraderequest.errtxt = "Failed to upgrade packages." end + -- Destroy menu and permissions info in session so recalculated + resetpermissions(self) return upgraderequest end |