Fix constants, output tickets from database, and implement status/priority names for Ticket objects

develop
Sven Slootweg 11 years ago
parent 853bb50ab6
commit d6588b6f1a

@ -17,7 +17,7 @@ $uSlug = $router->uParameters[1];
try
{
$sProject = Project::CreateFromQuery("SELECT * FROM projects WHERE `Slug` = :Slug", array(":Slug" => $uSlug));
$sProject = Project::CreateFromQuery("SELECT * FROM projects WHERE `Slug` = :Slug", array(":Slug" => $uSlug), 0, true);
NewTemplater::SetGlobalVariable("project-name", $sProject->sName);
NewTemplater::SetGlobalVariable("project-url", "/project/{$sProject->sSlug}");
$sRouterAuthenticated = true;

@ -38,4 +38,60 @@ class Ticket extends CPHPDatabaseRecordClass
'Project' => "ProjectId"
)
);
public function __get($name)
{
switch($name)
{
case "sStatusName":
return $this->GetStatusName();
break;
case "sPriorityName":
return $this->GetPriorityName();
break;
default:
return parent::__get($name);
break;
}
}
public function GetStatusName()
{
switch($this->sStatus)
{
case NEWTICKET:
return "New";
case OPEN:
return "Open";
case CLOSED:
return "Closed";
case INVALID:
return "Invalid";
case NEEDS_REVIEW:
return "Needs Review";
case IN_PROGRESS:
return "In Progress";
default:
return "Unknown";
}
}
public function GetPriorityName()
{
switch($this->sPriority)
{
case PRIORITY_LOWEST:
return "Lowest";
case PRIORITY_LOW:
return "Low";
case PRIORITY_NORMAL:
return "Normal";
case PRIORITY_HIGH:
return "High";
case PRIORITY_CRITICAL:
return "Critical";
default:
return "Unknown";
}
}
}

@ -5,6 +5,8 @@ require("cphp/base.php");
$_APP = true;
require("constants.php");
function __autoload($class_name)
{
global $_APP;

@ -16,16 +16,16 @@ if(!isset($_APP)) { die("Unauthorized."); }
$constants = array(
"PRIORITY_LOWEST" => 1,
"PRIORITY_LOW" => 2,
"PRIORITY_MEDIUM" => 3,
"PRIORITY_NORMAL" => 3,
"PRIORITY_HIGH" => 4,
"PRIORITY_CRITICAL" => 5,
"NEW" => 1,
"NEWTICKET" => 1,
"OPEN" => 2,
"CLOSED" => 3,
"INVALID" => 4,
"NEEDS_REVIEW" => 5,
"IN_PROGRESS" => 6
"IN_PROGRESS" => 6,
"ATTACHMENT_FILE" => 1,
"ATTACHMENT_COMMIT" => 2,
@ -41,7 +41,7 @@ $constants = array(
"COMMIT" => 4,
"FORUMPOST" => 5,
"INVITATION" => 6,
"DESCRIPTION" => 7
"DESCRIPTION" => 7,
"CREATE" => 1,
"DELETE" => 2,

@ -15,47 +15,30 @@ if(!isset($_APP)) { die("Unauthorized."); }
$sPageTitle = "Tickets";
$sCurrentPage = "tickets";
$sTickets = array();
try
{
$result = Ticket::CreateFromQuery("SELECT * FROM tickets WHERE `ProjectId` = :ProjectId", array(":ProjectId" => $sProject->sId));
}
catch (NotFoundException $e)
{
$result = array();
}
foreach($result as $sTicket)
{
$sTickets[] = array(
"id" => $sTicket->sId,
"title" => $sTicket->sSubject,
"priority" => $sTicket->sPriorityName,
"priority-lowercase" => strtolower($sTicket->sPriorityName),
"status" => $sTicket->sStatusName,
"status-lowercase" => strtolower($sTicket->sStatusName)
);
}
$sPageContents = NewTemplater::Render("project/tickets/index", $locale->strings, array(
"tickets" => array(
array(
"id" => 4,
"title" => "This is a sample ticket about some kind of bug.",
"priority" => "High",
"priority-lowercase" => "high",
"status" => "Open",
"status-lowercase" => "open"
),
array(
"id" => 3,
"title" => "Some kind of feature suggestion",
"priority" => "Normal",
"priority-lowercase" => "normal",
"status" => "Open",
"status-lowercase" => "open"
),
array(
"id" => 5,
"title" => "Aaaaaabsolutely unimportant.",
"priority" => "Low",
"priority-lowercase" => "low",
"status" => "Open",
"status-lowercase" => "open"
),
array(
"id" => 1,
"title" => "This is an urgent ticket about something that has been resolved.",
"priority" => "High",
"priority-lowercase" => "high",
"status" => "Closed",
"status-lowercase" => "closed"
),
array(
"id" => 2,
"title" => "This is a normal ticket about something that has been resolved.",
"priority" => "Normal",
"priority-lowercase" => "normal",
"status" => "Closed",
"status-lowercase" => "closed"
),
)
"tickets" => $sTickets
));

Loading…
Cancel
Save