bug fixes: orgs load properly (metatable set), orgs can't have same name, orgs now saved on modifying operations
This commit is contained in:
modpol
@ -8,10 +8,6 @@
|
|||||||
-- Main API table
|
-- Main API table
|
||||||
if not modpol then modpol = {} end
|
if not modpol then modpol = {} end
|
||||||
|
|
||||||
-- Table for modpol data
|
|
||||||
modpol.orgs = {
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Record of every state change should appear here
|
-- Record of every state change should appear here
|
||||||
modpol.ledger = {
|
modpol.ledger = {
|
||||||
}
|
}
|
||||||
@ -77,10 +73,8 @@ dofile (topdir .. "/api.lua")
|
|||||||
-- Final checks
|
-- Final checks
|
||||||
|
|
||||||
-- create instance if not present
|
-- create instance if not present
|
||||||
if not modpol.orgs.get_org('instance') then
|
modpol.instance = modpol.orgs.array[1] or modpol.orgs.init_instance()
|
||||||
modpol.orgs.init_instance()
|
|
||||||
modpol.instance = modpol.orgs.get_org('instance')
|
|
||||||
end
|
|
||||||
|
|
||||||
modpol.ocutil.log ("modpol loaded")
|
modpol.ocutil.log ("modpol loaded")
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
modpol.orgs =
|
modpol.orgs = modpol.orgs or
|
||||||
{
|
{
|
||||||
count = 1,
|
count = 1,
|
||||||
array = {}
|
array = {}
|
||||||
@ -46,6 +46,8 @@ function modpol.orgs.reset()
|
|||||||
modpol.orgs.array[id] = nil
|
modpol.orgs.array[id] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
modpol.orgs:record('Resetting all orgs', 'org_reset')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ===================================================
|
-- ===================================================
|
||||||
@ -74,6 +76,9 @@ function modpol.orgs.init_instance()
|
|||||||
|
|
||||||
-- adding instance to org list
|
-- adding instance to org list
|
||||||
modpol.orgs.array[1] = instance
|
modpol.orgs.array[1] = instance
|
||||||
|
|
||||||
|
modpol.orgs:record('Initialized the instance org', 'create_instance')
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -129,6 +134,12 @@ function modpol.orgs:add_org(name)
|
|||||||
return false, error_msg
|
return false, error_msg
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if modpol.orgs.get_org(name) then
|
||||||
|
error_msg = 'Error: org name is already being used'
|
||||||
|
modpol.ocutil.log(error_msg)
|
||||||
|
return false, error_msg
|
||||||
|
end
|
||||||
|
|
||||||
-- creating the child sub org
|
-- creating the child sub org
|
||||||
modpol.orgs.count = modpol.orgs.count + 1
|
modpol.orgs.count = modpol.orgs.count + 1
|
||||||
local child_org = {
|
local child_org = {
|
||||||
@ -147,6 +158,7 @@ function modpol.orgs:add_org(name)
|
|||||||
-- adding child to org list
|
-- adding child to org list
|
||||||
modpol.orgs.array[child_org.id] = child_org
|
modpol.orgs.array[child_org.id] = child_org
|
||||||
|
|
||||||
|
self:record('created sub org ' .. name, 'add_org')
|
||||||
|
|
||||||
return child_org
|
return child_org
|
||||||
end
|
end
|
||||||
@ -171,6 +183,8 @@ function modpol.orgs:delete()
|
|||||||
modpol.orgs.array[self.id] = 'removed'
|
modpol.orgs.array[self.id] = 'removed'
|
||||||
print('Removed ' .. self.name .. ': ' .. self.id)
|
print('Removed ' .. self.name .. ': ' .. self.id)
|
||||||
|
|
||||||
|
self:record('Deleted ' .. self.name .. ' and all child orgs', 'del_org')
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -195,6 +209,7 @@ function modpol.orgs:add_member(user)
|
|||||||
-- adds to end if no empty spots
|
-- adds to end if no empty spots
|
||||||
table.insert(self.members, user)
|
table.insert(self.members, user)
|
||||||
end
|
end
|
||||||
|
self.record('Added member ' .. user, 'add_member')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- =======================================
|
-- =======================================
|
||||||
@ -206,6 +221,7 @@ function modpol.orgs:remove_member(user)
|
|||||||
if user_index then
|
if user_index then
|
||||||
self.members[user_index] = ''
|
self.members[user_index] = ''
|
||||||
end
|
end
|
||||||
|
self.record('Removed member ' .. user, 'del_member')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ===========================================
|
-- ===========================================
|
||||||
|
@ -49,7 +49,7 @@ local store_orgs = function()
|
|||||||
modpol.ocutil.fatal_error ("store_data: orgs")
|
modpol.ocutil.fatal_error ("store_data: orgs")
|
||||||
end
|
end
|
||||||
|
|
||||||
local nn = modpol.ocutil.table_length (modpol.orgs)
|
local nn = modpol.ocutil.table_length (modpol.orgs.array)
|
||||||
local str = "entries"
|
local str = "entries"
|
||||||
if nn == 1 then str = "entry" end
|
if nn == 1 then str = "entry" end
|
||||||
modpol.ocutil.log (nn .. " orgs stored to disk")
|
modpol.ocutil.log (nn .. " orgs stored to disk")
|
||||||
@ -80,7 +80,7 @@ end
|
|||||||
modpol.store_data = function()
|
modpol.store_data = function()
|
||||||
store_ledger()
|
store_ledger()
|
||||||
store_orgs()
|
store_orgs()
|
||||||
store_old_ledgers()
|
-- store_old_ledgers()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
@ -116,7 +116,12 @@ local load_orgs = function()
|
|||||||
end
|
end
|
||||||
modpol.orgs = func()
|
modpol.orgs = func()
|
||||||
|
|
||||||
local nn = modpol.ocutil.table_length (modpol.orgs)
|
-- this block resets the metatable after being loaded in so that the class functions work
|
||||||
|
for id, org in ipairs(modpol.orgs.array) do
|
||||||
|
setmetatable(org, modpol.orgs)
|
||||||
|
end
|
||||||
|
|
||||||
|
local nn = modpol.ocutil.table_length (modpol.orgs.array)
|
||||||
local str = "entries"
|
local str = "entries"
|
||||||
if nn == 1 then str = "entry" end
|
if nn == 1 then str = "entry" end
|
||||||
modpol.ocutil.log (nn .. " orgs loaded from disk")
|
modpol.ocutil.log (nn .. " orgs loaded from disk")
|
||||||
@ -152,7 +157,7 @@ end
|
|||||||
modpol.load_storage = function()
|
modpol.load_storage = function()
|
||||||
load_ledger()
|
load_ledger()
|
||||||
load_orgs()
|
load_orgs()
|
||||||
load_old_ledgers()
|
-- load_old_ledgers()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
|
Reference in New Issue
Block a user