Created no-consent add_child_org module and a bugfix
This commit is contained in:
		| @@ -13,6 +13,7 @@ dofile (localdir .. "/interactions/interactions.lua") | |||||||
| --modules | --modules | ||||||
| --TODO make this automatic and directory-based | --TODO make this automatic and directory-based | ||||||
| dofile (localdir .. "/modules/add_child_org_consent.lua") | dofile (localdir .. "/modules/add_child_org_consent.lua") | ||||||
|  | dofile (localdir .. "/modules/add_child_org.lua") | ||||||
| dofile (localdir .. "/modules/change_modules.lua") | dofile (localdir .. "/modules/change_modules.lua") | ||||||
| dofile (localdir .. "/modules/consent.lua") | dofile (localdir .. "/modules/consent.lua") | ||||||
| dofile (localdir .. "/modules/create_token.lua") | dofile (localdir .. "/modules/create_token.lua") | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								modpol_core/modules/add_child_org.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								modpol_core/modules/add_child_org.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | |||||||
|  | --- Adds a child org. | ||||||
|  | -- @module add_child_org | ||||||
|  |  | ||||||
|  | local add_child_org = { | ||||||
|  |     name = "Add child org", | ||||||
|  |     slug = "add_child_org", | ||||||
|  |     desc = "Create a child org in the current one" | ||||||
|  | } | ||||||
|  | add_child_org.data = { | ||||||
|  |    child_name = "", | ||||||
|  |    result = nil | ||||||
|  | } | ||||||
|  | add_child_org.config = { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | --- Initiate consent for new child org | ||||||
|  | -- @function add_child_org:initiate(result) | ||||||
|  | -- @param result Callback if this module is embedded in other modules | ||||||
|  | function add_child_org:initiate(result) | ||||||
|  |    modpol.interactions.text_query( | ||||||
|  |       self.initiator,"Child org name: ", | ||||||
|  |       function(input) | ||||||
|  |          if input == "" then | ||||||
|  |             modpol.interactions.message( | ||||||
|  |                self.initiator, | ||||||
|  |                "No name entered for child org") | ||||||
|  |             modpol.interactions.org_dashboard( | ||||||
|  |                self.initiator, self.org.name) | ||||||
|  |             self.org:delete_process(self.id)             | ||||||
|  |             return | ||||||
|  |          elseif modpol.orgs.get_org(input) then | ||||||
|  |             modpol.interactions.message( | ||||||
|  |                self.initiator, | ||||||
|  |                "Org name already in use") | ||||||
|  |             modpol.interactions.org_dashboard( | ||||||
|  |                self.initiator, self.org.name) | ||||||
|  |             self.org:delete_process(self.id) | ||||||
|  |             if result then result() end | ||||||
|  |             return | ||||||
|  |          end | ||||||
|  |          self.data.child_name = input | ||||||
|  |          modpol.interactions.message( | ||||||
|  |                self.initiator, | ||||||
|  |                "Proposed child org: " .. input) | ||||||
|  |          -- create the org | ||||||
|  |          self:create_child_org() | ||||||
|  |          modpol.interactions.org_dashboard( | ||||||
|  |             self.initiator, self.org.name) | ||||||
|  |       end | ||||||
|  |    ) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | --- Create a new child orgg | ||||||
|  | -- @function add_child_org:create_child_org | ||||||
|  | function add_child_org:create_child_org() | ||||||
|  |    self.org:add_org(self.data.child_name, self.initiator) | ||||||
|  |    modpol.interactions.message_org( | ||||||
|  |       self.initiator, | ||||||
|  |       self.org.name, | ||||||
|  |       "Created child org " | ||||||
|  |       ..self.data.child_name) | ||||||
|  |    if self.data.result then self.data.result() end | ||||||
|  |    self.org:delete_process(self.id) | ||||||
|  | end | ||||||
|  |        | ||||||
|  | modpol.modules.add_child_org = add_child_org | ||||||
| @@ -215,7 +215,7 @@ function modpol.orgs:delete() | |||||||
|     if #self.children > 0 then |     if #self.children > 0 then | ||||||
|         for i, child_id in pairs(self.children) do |         for i, child_id in pairs(self.children) do | ||||||
|             local child = modpol.orgs.get_org(child_id) |             local child = modpol.orgs.get_org(child_id) | ||||||
|             modpol.ocutil.log(child_id, child) |             modpol.ocutil.log("Deleting child org...") | ||||||
|             child:delete() |             child:delete() | ||||||
|         end |         end | ||||||
|     end |     end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user