/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #include "subject.h" namespace Fun { Subject::Subject() { fun.url = L"subject"; } bool Subject::SubjectCheckAccess() { // super user can always if( request->session->puser && request->session->puser->super_user ) return true; bool access; if( request->is_item ) access = system->HasWriteAccess(request->item); else access = system->HasWriteAccess(*request->dir_tab.back()); if( !access ) request->status = WINIX_ERR_PERMISSION_DENIED; return access; } void Subject::EditDirSubject() { Item & dir = *request->dir_tab.back(); request->PostVar(L"subject", dir.subject); db->EditSubjectById(dir, dir.id); system->RedirectToLastDir(); } void Subject::EditFileSubject() { request->PostVar(L"subject", request->item.subject); db->EditSubjectById(request->item, request->item.id); system->RedirectTo(request->item); } void Subject::MakePost() { if( !SubjectCheckAccess() ) return; if( request->is_item ) EditFileSubject(); else EditDirSubject(); } void Subject::MakeGet() { SubjectCheckAccess(); } } // namespace