* nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the GPL Version 2 section of the License file that * accompanied this code. If applicable, add the following below the * License Header, with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * If you wish your version of this file to be governed by only the CDDL * or only the GPL Version 2, indicate your decision by adding * "[Contributor] elects to include this software in this distribution * under the [CDDL or GPL Version 2] license." If you do not indicate a * single choice of license, a recipient has the option to distribute * your version of this file under either the CDDL, the GPL Version 2 or * to extend the choice of license to its licensees as provided above. * However, if you add GPL Version 2 code and therefore, elected the GPL * Version 2 license, then the option applies only if the new code is * made subject to such option by the copyright holder. * * Contributor(s): * * Portions Copyrighted 2011 Sun Microsystems, Inc. */ $status = Utils::getUrlParam('status'); TodoValidator::validateStatus($status); $dao = new TodoDao(); $search = new TodoSearchCriteria(); $search->setStatus($status); // data for template $title = Utils::capitalize($status) . ' TODOs'; $todos = $dao->find($search);
private function getFindSql(TodoSearchCriteria $search = null) { $sql = 'SELECT * FROM todo WHERE deleted = 0 '; $orderBy = ' priority, due_on'; if ($search !== null) { if ($search->getStatus() !== null) { $sql .= 'AND status = ' . $this->getDb()->quote($search->getStatus()); switch ($search->getStatus()) { case Todo::STATUS_PENDING: $orderBy = 'due_on, priority'; break; case Todo::STATUS_DONE: case Todo::STATUS_VOIDED: $orderBy = 'due_on DESC, priority'; break; default: throw new Exception('No order for status: ' . $search->getStatus()); } } } $sql .= ' ORDER BY ' . $orderBy; return $sql; }