|  |  |  | @ -92,6 +92,9 @@ sub set_base :Chained('set_list') :PathPart('') :CaptureArgs(1) { | 
			
		
	
		
			
				
					|  |  |  |  | sub set_create :Chained('set_list') :PathPart('create') :Args(0) :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     my $posted = ($c->request->method eq 'POST'); | 
			
		
	
		
			
				
					|  |  |  |  |     my $params = {}; | 
			
		
	
		
			
				
					|  |  |  |  |     $params = $params->merge($c->session->{created_objects}); | 
			
		
	
	
		
			
				
					|  |  |  | @ -147,6 +150,9 @@ sub set_create :Chained('set_list') :PathPart('create') :Args(0) :Does(ACL) :ACL | 
			
		
	
		
			
				
					|  |  |  |  | sub set_edit :Chained('set_base') :PathPart('edit') :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     my $set = $c->stash->{set}; | 
			
		
	
		
			
				
					|  |  |  |  |     my $posted = ($c->request->method eq 'POST'); | 
			
		
	
		
			
				
					|  |  |  |  |     my $params = { $set->get_inflated_columns }; | 
			
		
	
	
		
			
				
					|  |  |  | @ -204,6 +210,9 @@ sub set_edit :Chained('set_base') :PathPart('edit') :Does(ACL) :ACLDetachTo('/de | 
			
		
	
		
			
				
					|  |  |  |  | sub set_delete :Chained('set_base') :PathPart('delete') :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  |      | 
			
		
	
		
			
				
					|  |  |  |  |     try { | 
			
		
	
		
			
				
					|  |  |  |  |         my $schema = $c->model('DB'); | 
			
		
	
		
			
				
					|  |  |  |  |         $schema->txn_do(sub{ | 
			
		
	
	
		
			
				
					|  |  |  | @ -230,6 +239,9 @@ sub set_delete :Chained('set_base') :PathPart('delete') :Does(ACL) :ACLDetachTo( | 
			
		
	
		
			
				
					|  |  |  |  | sub set_clone :Chained('set_base') :PathPart('clone') :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     my $posted = ($c->request->method eq 'POST'); | 
			
		
	
		
			
				
					|  |  |  |  |     my $params = { $c->stash->{set}->get_inflated_columns }; | 
			
		
	
		
			
				
					|  |  |  |  |     $params->{reseller}{id} = delete $params->{reseller_id}; | 
			
		
	
	
		
			
				
					|  |  |  | @ -353,6 +365,9 @@ sub profile_base :Chained('profile_list') :PathPart('') :CaptureArgs(1) :Does(AC | 
			
		
	
		
			
				
					|  |  |  |  | sub profile_create :Chained('profile_list') :PathPart('create') :Args(0) :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     my $posted = ($c->request->method eq 'POST'); | 
			
		
	
		
			
				
					|  |  |  |  |     my $params = {}; | 
			
		
	
		
			
				
					|  |  |  |  |     $params = $params->merge($c->session->{created_objects}); | 
			
		
	
	
		
			
				
					|  |  |  | @ -454,6 +469,10 @@ sub profile_edit :Chained('profile_base') :PathPart('edit') :Does(ACL) :ACLDetac | 
			
		
	
		
			
				
					|  |  |  |  |                   # no previous default profile, make this one default | 
			
		
	
		
			
				
					|  |  |  |  |                   $form->values->{set_default} = 1; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}) { | 
			
		
	
		
			
				
					|  |  |  |  |                     # only allow generic fields to be updated | 
			
		
	
		
			
				
					|  |  |  |  |                     delete $form->values->{attribute}; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 $profile->update($form->values); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -517,6 +536,9 @@ sub profile_edit :Chained('profile_base') :PathPart('edit') :Does(ACL) :ACLDetac | 
			
		
	
		
			
				
					|  |  |  |  | sub profile_delete :Chained('profile_base') :PathPart('delete') :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  |      | 
			
		
	
		
			
				
					|  |  |  |  |     try { | 
			
		
	
		
			
				
					|  |  |  |  |         my $schema = $c->model('DB'); | 
			
		
	
		
			
				
					|  |  |  |  |         $schema->txn_do(sub{ | 
			
		
	
	
		
			
				
					|  |  |  | @ -550,6 +572,9 @@ sub profile_delete :Chained('profile_base') :PathPart('delete') :Does(ACL) :ACLD | 
			
		
	
		
			
				
					|  |  |  |  | sub profile_clone :Chained('profile_base') :PathPart('clone') :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) { | 
			
		
	
		
			
				
					|  |  |  |  |     my ($self, $c) = @_; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     $c->detach('/denied_page') | 
			
		
	
		
			
				
					|  |  |  |  |         if($c->user->roles eq "reseller" && !$c->config->{profile_sets}->{reseller_edit}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     my $posted = ($c->request->method eq 'POST'); | 
			
		
	
		
			
				
					|  |  |  |  |     my $params = { $c->stash->{profile}->get_inflated_columns }; | 
			
		
	
		
			
				
					|  |  |  |  |     $params = $params->merge($c->session->{created_objects}); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |