added support for making requests to an org (first step of processes)
This commit is contained in:
parent
90da4c70bb
commit
44e40d96e6
@ -13,12 +13,20 @@ function temp_org()
|
|||||||
name = nil,
|
name = nil,
|
||||||
policies = {},
|
policies = {},
|
||||||
processes = {},
|
processes = {},
|
||||||
|
requests = {},
|
||||||
members = {},
|
members = {},
|
||||||
parent = nil,
|
parent = nil,
|
||||||
children = {}
|
children = {}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
modpol.orgs.request_params = {
|
||||||
|
add_org = 1,
|
||||||
|
delete = 0,
|
||||||
|
add_member = 1,
|
||||||
|
remove_member = 1
|
||||||
|
}
|
||||||
|
|
||||||
-- ==================================================
|
-- ==================================================
|
||||||
-- returns org when given its id or name
|
-- returns org when given its id or name
|
||||||
function modpol.orgs.get_org(arg)
|
function modpol.orgs.get_org(arg)
|
||||||
@ -249,3 +257,43 @@ function modpol.orgs:list_member()
|
|||||||
end
|
end
|
||||||
return str
|
return str
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- ===========================
|
||||||
|
-- compares to requests to see if they are identical
|
||||||
|
function modpol.orgs.comp_req(req1, req2)
|
||||||
|
if req1.type ~= req2.type then
|
||||||
|
return false
|
||||||
|
else
|
||||||
|
for k, v in ipairs(req1.params) do
|
||||||
|
if v ~= req2.params[k] then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ================================
|
||||||
|
-- tries to make a request to the org
|
||||||
|
function modpol.orgs:make_request(request)
|
||||||
|
-- makes sure the request has the valid number of parameters
|
||||||
|
local num_params = modpol.orgs.request_params[request.type]
|
||||||
|
|
||||||
|
if num_params == nil then return false end
|
||||||
|
|
||||||
|
for k, v in ipairs(request.params) do
|
||||||
|
num_params = num_params - 1
|
||||||
|
end
|
||||||
|
if num_params ~= 0 then return false end
|
||||||
|
|
||||||
|
-- checking to see if identical request already exists
|
||||||
|
for k, v in ipairs(self.requests) do
|
||||||
|
if self.comp_req(request, v) == true then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(self.requests, request)
|
||||||
|
return true
|
||||||
|
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user