my %viewnames = ( appl => "appl", people => "people", peopleapp => "peopleapp", peopleorp => "peopleorp", roles => "roles", courses => "courses", coursepeople => "coursepeople", unitpeople => "unitpeople", assignments => "assignments", assignmentsubs => "assignmentsubs", ... ); my %froms = ( apply => "", people => "", peopleapp => "", peopleorp => "People LEFT JOIN PeopleAPP ON People.person = PeopleAPP.person", roles => "", courses => "", coursepeople => "", unitpeople => "", assignments => "", assignmentsubs => "", ... ); my %wheres = ( appl => "", people => "", peopleapp => "People.person = PeopleAPP.person", peopleorp => "PeopleAPP.person IS NULL", roles => "People.person = Roles.person AND role!='EIADM'", courses => "", coursepeople => " People.person = CoursePeople.person AND CoursePeople.course = PSMPCourses.course AND CoursePeople.person = PeopleParticipants.person ", unitpeople => " People.person = UnitPeople.person AND UnitPeople.unit = PSMPUnits.unit AND UnitPeople.course = PSMPCourses.course AND PSMPUnits.course = PSMPCourses.course ", assignments => "Assignments.course = PSMPCourses.course", assignmentsubs => "AssignmentSubmissions.course = PSMPCourses.course", ... ); my %templates = ( appl => "", people => "people", peopleapp => "peopleapp", peopleorp => "peopleorp", roles => "", courses => "", coursepeople => "", unitpeople => "", assignments => "", assignmentsubs => "", ... ); my %titles = ( appl => "Applications", people => "People", peopleapp => "Admins, Presenters, Participants", peopleorp => "Orphans (no role)", roles => "Administrators", courses => "Courses", coursepeople => "Participants", unitpeople => "Presenters", assignments => "Assignments", assignmentsubs => "Assignment Submissions", ... ); my %areas = ( appl => "appl", people => "manuse", peopleapp => "manuse", peopleorp => "manuse", roles => "manuse", courses => "courses", coursepeople => "courses", unitpeople => "courses", assignments => "assi", assignmentsubs => "assi", ... ); my $myname = $ENV{'SCRIPT_NAME'}; $myname =~ s|^.+/(.+?)\.pl$|$1|; my $whex = ""; if($myname eq "unitpeople") { # Any CRUD for staff at unit level unless($per{'staenrs'}) { $nkcgi->redirect($eam->{'httphome'}) } # EIADM and ENADM are allowed to do anything if($roles{EIADM} || $roles{ENADM}) { my $donothing = ""; } # Let ESTADM see their own PAMs else { foreach my $j (keys %{$rolelc{'staenrs'}{G}}) { $whex .= qq|PSMPCourses.jurisdiction='$j' OR |; } $whex =~ s/ OR $//; if($whex) { $wheres{'unitpeople'} .= qq| AND ($whex)|; } # Safety else { $wheres{'unitpeople'} .= qq| AND (PSMPCourses.jurisdiction='none')|; } } } ### viewDB # my $viewdb = new netkno::viewDB # $eam->{'dsn'},$eam->{'dbuser'},$eam->{'dbpass'}, "", $dbh,"","", "", $viewnames{$myname},$froms{$myname},$wheres{$myname}, $person,"check"; my $cbcol = ""; #$options{'pagemenu'} = "number"; my $html = new netkno::viewDBHTML $viewdb,$templates{$myname},\@templateDirs,\%subs,\%options; $html->doit($cbcol);