Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub lp_view :Path('view'){
- my($self,$c,@args) = @_;
- my $userobjid = $args[0];
- my $gradeid = $args[1];
- my $events;
- my $rs = $c->model('Cl::Objects')->get_object_content($userobjid);
- my $userid = $rs->{_column_data}->{id};
- my $parentobjectid = $gradeid ;
- my $parentobjectdetails = $c->model('Cl::Objects')->get_object_details($parentobjectid);
- my $parentobjecttype = $parentobjectdetails->objecttype;
- my $def_order = $c->model('Cl::UserObjectRelations')->get_user_object_relations($parentobjectid,'',$userid);
- my $flag;
- my $childobjectid;
- if ($def_order->first){
- $flag = 1;
- }
- else {
- $flag = 0;
- }
- if($parentobjecttype eq $c->config->{objecttypes}->{sites}) {
- $childobjecttype = $c->config->{objecttypes}->{grades};
- }else{
- $childobjecttype = $c->config->{objecttypes}->{topics};
- }
- if (!$flag){
- my $rs = $c->model('Cl::UserObjectRelations')->view_school($schoolid,$parentobjectid);
- if($rs){
- foreach my $each (@{$rs}){
- my $result = $c->model('Cl::Objects')->fetch_object($each->{childobjectid});
- my $expired = $each->{expired};
- my $completed = $each->{completed};
- $result->{completed} = $completed ;
- $result->{expired} = $expired ;
- push (@{$res},$result);
- $each = '';
- }
- }else{
- my $rs = $c->model('Cl::Objects')->fetch_children_by_objects($parentobjectid,'',$childobjecttype);
- my $relationorder = $rs->{resultcount};
- my $default = $rs->{rsarray}->{$childobjecttype};
- my $flag = '1';
- my $count;
- foreach my $each (@$default){
- $childobjectid = $each->{id};
- my $childobjectdetails = $c->model('Cl::Objects')->get_object_details($childobjectid);
- my $childobjecttype = $childobjectdetails->objecttype;
- my $add = $c->model('Cl::UserObjectRelations')->add_check($each->{parentobjectid},$each->{childobjectid},$userid,$each->{parentobjecttype},$each->{childobjecttype},$each->{relationorder},0,1);
- }
- $count = '0';
- }
- }else{
- my $rs = $c->model('Cl::Objects')->fetch_children($parentobjectid,'','',$childobjecttype);
- my @childrenset = $rs->get_column('childobjectid')->all;
- my $rsuser = $c->model('Cl::UserObjectRelations')->get_user_object_relations($parentobjectid,'',$userid);
- my @userchildrenset = $rsuser->get_column('childobjectid')->all;
- my $upperlimit = scalar(@userchildrenset);
- my %array_one = map {$_, 1} @userchildrenset;
- my @difference = grep {!$array_one {$_}} @childrenset;
- foreach my $diff (@difference) {
- my $object = $c->model('Cl::Objects')->fetch_object($diff);
- my $childobjectdetails = $c->model('Cl::Objects')->get_object_details($diff);
- my $childobjecttype = $childobjectdetails->objecttype;
- my $add = $c->model('Cl::UserObjectRelations')->add_check($parentobjectid,$diff,$userid,$parentobjecttype,$childobjecttype,$upperlimit + 1,$schoolid,1);
- }
- }
- my $rs = $c->model('Cl::Objects')->fetch_user_children_by_objects($parentobjectid,'',$childobjecttype,'','','','','',$userid);
- $events = $rs->{rsarray}->{$childobjecttype} ;
- # if(!$events){
- # $c->log->info('This user has no LEARNING PATH assigned yet for this user');
- # $rs = $c->model('Cl::Objects')->fetch_children_by_objects($gradeid,'',$c->config->{objecttypes}->{topics},'','','','','',$userid);
- # $c->log->info('default learning path');
- # $c->log->info(Dumper($rs->{rsarray}->{21}));
- # $events = $rs->{rsarray}->{21} ;
- # }
- $c->stash->{results} = $events ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement