From 7845c088985ad2d7857f3f1c9d9f24846b844798 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 27 Jun 2011 14:47:01 +0000 Subject: Removed duplicates from determine_perms arrays --- lib/roles.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'lib/roles.lua') diff --git a/lib/roles.lua b/lib/roles.lua index c2f54a3..7c69724 100644 --- a/lib/roles.lua +++ b/lib/roles.lua @@ -231,9 +231,13 @@ local determine_perms = function(self,roles) permissions[prefix][control] = {} end if action then - permissions[prefix][control][action] = {file} - permissions_array[#permissions_array + 1] = prefix .. control .. "/" .. action - default_permissions_array[#default_permissions_array + 1] = prefix .. control .. "/" .. action + if not permissions[prefix][control][action] then + permissions[prefix][control][action] = {file} + permissions_array[#permissions_array + 1] = prefix .. control .. "/" .. action + default_permissions_array[#default_permissions_array + 1] = prefix .. control .. "/" .. action + else + permissions[prefix][control][action][#permissions[prefix][control][action] + 1] = file + end end end end @@ -256,8 +260,10 @@ local determine_perms = function(self,roles) if nil == permissions[prefix][control] then permissions[prefix][control] = {} end - permissions[prefix][control][action] = {} - permissions_array[#permissions_array + 1] = prefix .. control .. "/" .. action + if nil == permissions[prefix][control][action] then + permissions[prefix][control][action] = {} + permissions_array[#permissions_array + 1] = prefix .. control .. "/" .. action + end end end end -- cgit v1.2.3