<%args> $project_id $role_id $username $is_project_admin => 0 <%init> my $project = eval { $Schema->Project_t->row_by_pk( pk => $project_id ) } || $m->comp( '/lib/redirect.mas', path => '/' ); $m->comp( 'check_access_to_project.mas', project => $project ); my $user = $Schema->User_t->one_row ( where => [ $Schema->User_t->username_c, '=', $username ] ); unless ($user) { $m->comp( '/lib/redirect.mas', path => 'edit_members.html', query => { project_id => $project_id, username => $username, role_id => $role_id, is_project_admin => $is_project_admin, error => "No user with the username $username" } ); } $Schema->ProjectMember_t->insert ( values => { project_id => $project_id, user_id => $user->user_id, role_id => $role_id, is_project_admin => $is_project_admin } ); $m->comp( '/lib/redirect.mas', path => 'edit_members.html', query => { project_id => $project_id } ); <%flags> inherit => '/syshandler'