@ -40,13 +40,20 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) {
 
			
		
	
		
			
				
					    ] ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    my  $ devfw_rs  =  $ c - > model ( 'DB' ) - > resultset ( 'autoprov_firmwares' ) ; 
 
			
		
	
		
			
				
					    unless ( $ c - > user - > is_superuser )  { 
 
			
		
	
		
			
				
					    if ( $ c - > user - > roles  eq  "subscriberadmin"  ||  $ c - > user - > roles  eq  "subscriber" )  { 
 
			
		
	
		
			
				
					        $ devfw_rs  =  $ devfw_rs - > search ( { 
 
			
		
	
		
			
				
					        	'device.reseller_id'  = >  $ c - > user - > voip_subscriber - > contract - > contact - > reseller_id , 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  'device' , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    }  elsif ( $ c - > user - > roles  eq  "reseller" )  { 
 
			
		
	
		
			
				
					        $ devfw_rs  =  $ devfw_rs - > search ( { 
 
			
		
	
		
			
				
					                'device.reseller_id'  = >  $ c - > user - > reseller_id 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  'device' , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    $ c - > stash - > { devfw_dt_columns }  =  NGCP::Panel::Utils::Datatables:: set_columns ( $ c ,  [ 
 
			
		
	
		
			
				
					        {  name  = >  'id' ,  search  = >  1 ,  title  = >  '#'  } , 
 
			
		
	
		
			
				
					        {  name  = >  'device.vendor' ,  search  = >  1 ,  title  = >  'Device Vendor'  } , 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -56,13 +63,20 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) {
 
			
		
	
		
			
				
					    ] ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    my  $ devconf_rs  =  $ c - > model ( 'DB' ) - > resultset ( 'autoprov_configs' ) ; 
 
			
		
	
		
			
				
					    unless ( $ c - > user - > is_superuser )  { 
 
			
		
	
		
			
				
					    if ( $ c - > user - > roles  eq  "subscriberadmin"  ||  $ c - > user - > roles  eq  "subscriber" )  { 
 
			
		
	
		
			
				
					        $ devconf_rs  =  $ devconf_rs - > search ( { 
 
			
		
	
		
			
				
					        	'device.reseller_id'  = >  $ c - > user - > voip_subscriber - > contract - > contact - > reseller_id , 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  'device' , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    }  elsif ( $ c - > user - > roles  eq  "reseller" )  { 
 
			
		
	
		
			
				
					        $ devconf_rs  =  $ devconf_rs - > search ( { 
 
			
		
	
		
			
				
					                'device.reseller_id'  = >  $ c - > user - > reseller_id 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  'device' , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    $ c - > stash - > { devconf_dt_columns }  =  NGCP::Panel::Utils::Datatables:: set_columns ( $ c ,  [ 
 
			
		
	
		
			
				
					        {  name  = >  'id' ,  search  = >  1 ,  title  = >  '#'  } , 
 
			
		
	
		
			
				
					        {  name  = >  'device.vendor' ,  search  = >  1 ,  title  = >  'Device Vendor'  } , 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -71,11 +85,17 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) {
 
			
		
	
		
			
				
					    ] ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    my  $ devprof_rs  =  $ c - > model ( 'DB' ) - > resultset ( 'autoprov_profiles' ) ; 
 
			
		
	
		
			
				
					    unless ( $ c - > user - > is_superuser )  { 
 
			
		
	
		
			
				
					    if ( $ c - > user - > roles  eq  "subscriberadmin"  ||  $ c - > user - > roles  eq  "subscriber" )  { 
 
			
		
	
		
			
				
					        $ devprof_rs  =  $ devprof_rs - > search ( { 
 
			
		
	
		
			
				
					        	'device.reseller_id'  = >  $ c - > user - > voip_subscriber - > contract - > contact - > reseller_id , 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  {  'config'  = >  'device'  } , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    }  elsif ( $ c - > user - > roles  eq  "reseller" )  { 
 
			
		
	
		
			
				
					        $ devprof_rs  =  $ devprof_rs - > search ( { 
 
			
		
	
		
			
				
					                'device.reseller_id'  = >  $ c - > user - > reseller_id 
 
			
		
	
		
			
				
					            } ,  {  
 
			
		
	
		
			
				
					                join  = >  'device' , 
 
			
		
	
		
			
				
					                join  = >  {  'config'  = >  'device'  }  , 
 
			
		
	
		
			
				
					        } ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
		
			
				
					    $ c - > stash - > { devprof_dt_columns }  =  NGCP::Panel::Utils::Datatables:: set_columns ( $ c ,  [ 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -896,7 +916,7 @@ sub dev_field_config :Chained('/') :PathPart('device/autoprov/config') :Args() {
 
			
		
	
		
			
				
					        $ vars - > { firmware }  =  { 
 
			
		
	
		
			
				
					            filename  = >  $ fw - > filename , 
 
			
		
	
		
			
				
					            version  = >  $ fw - > version , 
 
			
		
	
		
			
				
					            url  = >  $ c - > uri_for_action ( '/device/dev_field_firmware' ,  [  $ fw - > id  ] ) , 
 
			
		
	
		
			
				
					            url  = >  'http://'  .  $ c - > req - > uri - > host  .  ':'  .  ( $ c - > config - > { web } - > { autoprov_plain_port }  //  '1444' )  .  '/device/autoprov/firmware/'  .  $ fw - > id  .  '/download' , 
 
			
		
	
		
			
				
					        } ; 
 
			
		
	
		
			
				
					    }