Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. sub lp_view :Path('view'){
  2.  
  3. my($self,$c,@args) = @_;
  4. my $userobjid = $args[0];
  5. my $gradeid = $args[1];
  6. my $events;
  7. my $rs = $c->model('Cl::Objects')->get_object_content($userobjid);
  8. my $userid = $rs->{_column_data}->{id};
  9.  
  10. my $parentobjectid = $gradeid ;
  11. my $parentobjectdetails = $c->model('Cl::Objects')->get_object_details($parentobjectid);
  12. my $parentobjecttype = $parentobjectdetails->objecttype;
  13.  
  14.  
  15. my $def_order = $c->model('Cl::UserObjectRelations')->get_user_object_relations($parentobjectid,'',$userid);
  16.  
  17. my $flag;
  18. my $childobjectid;
  19. if ($def_order->first){
  20. $flag = 1;
  21. }
  22. else {
  23. $flag = 0;
  24. }
  25.  
  26. if($parentobjecttype eq $c->config->{objecttypes}->{sites}) {
  27. $childobjecttype = $c->config->{objecttypes}->{grades};
  28. }else{
  29. $childobjecttype = $c->config->{objecttypes}->{topics};
  30. }
  31.  
  32.  
  33. if (!$flag){
  34. my $rs = $c->model('Cl::UserObjectRelations')->view_school($schoolid,$parentobjectid);
  35. if($rs){
  36. foreach my $each (@{$rs}){
  37.  
  38. my $result = $c->model('Cl::Objects')->fetch_object($each->{childobjectid});
  39. my $expired = $each->{expired};
  40. my $completed = $each->{completed};
  41.  
  42. $result->{completed} = $completed ;
  43. $result->{expired} = $expired ;
  44.  
  45. push (@{$res},$result);
  46. $each = '';
  47.  
  48. }
  49. }else{
  50. my $rs = $c->model('Cl::Objects')->fetch_children_by_objects($parentobjectid,'',$childobjecttype);
  51. my $relationorder = $rs->{resultcount};
  52. my $default = $rs->{rsarray}->{$childobjecttype};
  53. my $flag = '1';
  54. my $count;
  55.  
  56. foreach my $each (@$default){
  57.  
  58. $childobjectid = $each->{id};
  59. my $childobjectdetails = $c->model('Cl::Objects')->get_object_details($childobjectid);
  60. my $childobjecttype = $childobjectdetails->objecttype;
  61.  
  62.  
  63. my $add = $c->model('Cl::UserObjectRelations')->add_check($each->{parentobjectid},$each->{childobjectid},$userid,$each->{parentobjecttype},$each->{childobjecttype},$each->{relationorder},0,1);
  64.  
  65. }
  66.  
  67. $count = '0';
  68. }
  69.  
  70. }else{
  71. my $rs = $c->model('Cl::Objects')->fetch_children($parentobjectid,'','',$childobjecttype);
  72. my @childrenset = $rs->get_column('childobjectid')->all;
  73.  
  74. my $rsuser = $c->model('Cl::UserObjectRelations')->get_user_object_relations($parentobjectid,'',$userid);
  75. my @userchildrenset = $rsuser->get_column('childobjectid')->all;
  76.  
  77. my $upperlimit = scalar(@userchildrenset);
  78.  
  79. my %array_one = map {$_, 1} @userchildrenset;
  80. my @difference = grep {!$array_one {$_}} @childrenset;
  81.  
  82. foreach my $diff (@difference) {
  83. my $object = $c->model('Cl::Objects')->fetch_object($diff);
  84. my $childobjectdetails = $c->model('Cl::Objects')->get_object_details($diff);
  85. my $childobjecttype = $childobjectdetails->objecttype;
  86. my $add = $c->model('Cl::UserObjectRelations')->add_check($parentobjectid,$diff,$userid,$parentobjecttype,$childobjecttype,$upperlimit + 1,$schoolid,1);
  87. }
  88. }
  89.  
  90.  
  91. my $rs = $c->model('Cl::Objects')->fetch_user_children_by_objects($parentobjectid,'',$childobjecttype,'','','','','',$userid);
  92.  
  93. $events = $rs->{rsarray}->{$childobjecttype} ;
  94.  
  95. # if(!$events){
  96.  
  97. # $c->log->info('This user has no LEARNING PATH assigned yet for this user');
  98. # $rs = $c->model('Cl::Objects')->fetch_children_by_objects($gradeid,'',$c->config->{objecttypes}->{topics},'','','','','',$userid);
  99. # $c->log->info('default learning path');
  100. # $c->log->info(Dumper($rs->{rsarray}->{21}));
  101. # $events = $rs->{rsarray}->{21} ;
  102.  
  103. # }
  104.  
  105.  
  106. $c->stash->{results} = $events ;
  107.  
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement