Beispiel #1
0
<?php

$testSuite->createGroup('Requests / Tickets / Listing', function ($g) {
    $project = createProject();
    $milestone = createMilestone($project);
    $ticketA = createTicket($project, $milestone);
    $ticketB = createTicket($project, $milestone);
    $g->test('List tickets', function ($t) use($project, $milestone, $ticketA, $ticketB) {
        $resp = $t->visit('tickets', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains('<h1 class="page-header">Tickets</h1>', $resp->body);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains($ticketA['summary'], $resp->body);
        $t->assertContains($ticketB['summary'], $resp->body);
    });
    $g->test('Show ticket', function ($t) use($project, $ticketA) {
        $resp = $t->visit('ticket', ['routeTokens' => ['pslug' => $project['slug'], 'id' => $ticketA['ticket_id']]]);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains('<h1 class="page-header">#' . $ticketA['ticket_id'] . ' - ' . $ticketA['summary'] . '</h1>', $resp->body);
        $t->assertContains($ticketA['body'], $resp->body);
    });
});
Beispiel #2
0
                }
            }
        }
    } catch (PDOException $e) {
        return array('error' => 'Error updating the ticket in the database');
    }
}
// If data is posted...
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $raw_json = file_get_contents('php://input');
    $json = json_decode($raw_json, true);
    if ($json !== null) {
        $pre_exist_check = getRequest($json['interaction_id']);
        // Insert ticket
        if ($pre_exist_check === null) {
            $create_ticket = createTicket($json);
            if ($create_ticket !== null) {
                header('Content-Type: application/json');
                http_response_code(201);
                echo json_encode($create_ticket);
                exit;
            } else {
                header('Content-Type: application/json');
                echo json_encode(['error' => 'Error: Ticket ID already in system!']);
                exit;
            }
        } else {
            $update_ticket = updateTicket($json);
            if ($update_ticket !== null) {
                header('Content-Type: application/json');
                http_response_code(201);
Beispiel #3
0
check_login('reseller');
resellerHasFeature('support') or showBadRequestErrorPage();
/** @var $cfg iMSCP_Config_Handler_File */
$cfg = iMSCP_Registry::get('config');
$userId = $_SESSION['user_id'];
// Checks if support ticket system is activated and if the reseller can access to it
if (!hasTicketSystem($userId)) {
    redirectTo('index.php');
}
if (isset($_POST['uaction'])) {
    if (empty($_POST['subject'])) {
        set_page_message(tr('You must specify a subject.'), 'error');
    } elseif (empty($_POST['user_message'])) {
        set_page_message(tr('You must specify a message.'), 'error');
    } else {
        createTicket($userId, $_SESSION['user_created_by'], $_POST['urgency'], $_POST['subject'], $_POST['user_message'], 2);
        redirectTo('ticket_system.php');
    }
}
$userdata = array('OPT_URGENCY_1' => '', 'OPT_URGENCY_2' => '', 'OPT_URGENCY_3' => '', 'OPT_URGENCY_4' => '');
if (isset($_POST['urgency'])) {
    $userdata['URGENCY'] = intval($_POST['urgency']);
} else {
    $userdata['URGENCY'] = 2;
}
switch ($userdata['URGENCY']) {
    case 1:
        $userdata['OPT_URGENCY_1'] = $cfg->HTML_SELECTED;
        break;
    case 3:
        $userdata['OPT_URGENCY_3'] = $cfg->HTML_SELECTED;
Beispiel #4
0
<?php

use Traq\Models\Timeline;
$testSuite->createGroup('Requests / Projects / Timeline', function ($g) {
    $project = createProject();
    $ticket = $project->tickets()->fetch() ?: createTicket($project);
    $wikiPage = createWikiPage($project);
    $g->test('Empty timeline', function ($t) use($project, $ticket, $wikiPage) {
        $resp = $t->visit('timeline', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains('<h1 class="page-header">Timeline</h1>', $resp->body);
        $t->assertNotContains($ticket['summary'], $resp->body);
    });
    $g->test('With events', function ($t) use($project, $ticket, $wikiPage) {
        $newTicketEvent = Timeline::newTicketEvent($ticket->user(), $ticket);
        $newTicketEvent->save();
        $updatedTicketEvent = Timeline::updateTicketEvent($ticket->user(), $ticket, 'ticket_updated', $ticket->status()['name']);
        $updatedTicketEvent->save();
        $closedTicketEvent = Timeline::updateTicketEvent($ticket->user(), $ticket, 'ticket_closed', $ticket->status()['name']);
        $closedTicketEvent->save();
        $completedMilestoneEvent = Timeline::milestoneCompletedEvent($ticket->user(), $ticket->milestone());
        $completedMilestoneEvent->save();
        $wikiPageCreatedEvent = Timeline::wikiPageCreatedEvent($ticket->user(), $wikiPage);
        $wikiPageCreatedEvent->save();
        $resp = $t->visit('timeline', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains($project['name'], $resp->body);
        $t->assertContains('<h1 class="page-header">Timeline</h1>', $resp->body);
        $t->assertContains($ticket['summary'], $resp->body);
        $t->assertContains($wikiPage['title'], $resp->body);
    });
});
Beispiel #5
0
<?php

$testSuite->createGroup('Requests / Projects / Listing', function ($g) {
    $project = createProject();
    $ticket = createTicket($project);
    $ticket['status_id'] = 5;
    $ticket->save();
    $ticket->milestone()->status = 2;
    $ticket->milestone()->save();
    $g->test('List projects', function ($t) use($project) {
        $resp = $t->visit('projects');
        $t->assertContains('<h1 class="page-header">Projects</h1>', $resp->body);
        $t->assertContains($project['name'], $resp->body);
    });
    $g->test('Show project', function ($t) use($project) {
        $resp = $t->visit('project', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains('<h1 class="page-header">' . $project['name'] . '</h1>', $resp->body);
    });
    $g->test('Show changelog', function ($t) use($project) {
        $resp = $t->visit('changelog', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains('<h1 class="page-header">Changelog</h1>', $resp->body);
    });
});
                    <div class="alert alert-block alert-info">
                        <p>
                            Enter information for your account as desired.  Fields marked with an asterisk
                            are required.
                        </p>
                    </div>
                    <div class="row">
                        <div id="acct-password-row" class="span7">
                            <fieldset>
                                <legend>Ticket Form</legend><br>

                                <?php 
if (isset($_POST['action']) && !isset($_GET['update'])) {
    $ticket = array('ticket_name' => $_POST['ticket_name'], 'ticket_notes' => nl2br($_POST['ticket_notes']), 'ticket_status' => $_POST['ticket_status'], 'case_id' => $_GET['case'], 'created_by' => $_SESSION['user']['employee_id']);
    $ticket_id = createTicket($ticket);
    if ($ticket_id > -1) {
        echo "<script>window.location.replace('/scc/?page=ticketview&ticket={$ticket_id}');</script>";
    }
}
?>

                                <div class="control-group ">
                                    <label class="control-label">Ticket Name<span class="required">*</span></label>
                                    <div class="controls">
                                        <input id="current-pass-control" name="ticket_name" class="span4" type="text" value="<?php 
if ($ticket) {
    echo $ticket->ticket_name;
}
?>
" <?php 
Beispiel #7
0
$cfg = EasySCP_Registry::get('Config');
$tpl = EasySCP_TemplateEngine::getInstance();
$template = 'common/ticket_create.tpl';
// dynamic page data
$admin_id = $_SESSION['user_created_by'];
if (!hasTicketSystem($admin_id)) {
    user_goto('index.php');
}
if (isset($_POST['uaction'])) {
    if (empty($_POST['subj'])) {
        set_page_message(tr('Please specify message subject!'), 'warning');
    } else {
        if (empty($_POST['user_message'])) {
            set_page_message(tr('Please type your message!'), 'warning');
        } else {
            createTicket($_SESSION['user_id'], $_SESSION['user_created_by'], $_POST['urgency'], $_POST['subj'], $_POST['user_message'], 2);
            user_goto('ticket_system.php');
        }
    }
}
$userdata = array('OPT_URGENCY_1' => '', 'OPT_URGENCY_2' => '', 'OPT_URGENCY_3' => '', 'OPT_URGENCY_4' => '');
if (isset($_POST['urgency'])) {
    $userdata['URGENCY'] = intval($_POST['urgency']);
} else {
    $userdata['URGENCY'] = 2;
}
switch ($userdata['URGENCY']) {
    case 1:
        $userdata['OPT_URGENCY_1'] = $cfg->HTML_SELECTED;
        break;
    case 3: