Merge branch 'preorder-improve-map' into 'master'
Added Tickets View for Customers See merge request fronk/thetool!999
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
<a href="<?=self::getUrl("Address","edit", ['id' => $address->id, 's' => $s, 'f' => "view"])?>" class="btn btn-outline-success"><i class="fas fa-edit"></i> Adresse bearbeiten</a>
|
<a href="<?=self::getUrl("Address","edit", ['id' => $address->id, 's' => $s, 'f' => "view"])?>" class="btn btn-outline-success"><i class="fas fa-edit"></i> Adresse bearbeiten</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
|
<a href="<?=self::getUrl("Address","tickets", ["address_id" => $address->id])?>" class="btn btn-purple mr-1"><i class="far fa-user-headset"></i> Tickets</a>
|
||||||
<a href="<?=self::getUrl("Address","invoice", ["address_id" => $address->id])?>" class="btn btn-purple mr-1"><i class="far fa-file-invoice-dollar"></i> Rechungsübersicht</a>
|
<a href="<?=self::getUrl("Address","invoice", ["address_id" => $address->id])?>" class="btn btn-purple mr-1"><i class="far fa-file-invoice-dollar"></i> Rechungsübersicht</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -58,14 +58,13 @@ class XinonProject {
|
|||||||
* @param int $pageSize - The number of results to return.
|
* @param int $pageSize - The number of results to return.
|
||||||
* @return array - The search results.
|
* @return array - The search results.
|
||||||
*/
|
*/
|
||||||
public function searchSupportTickets(string $search, int $pageSize = 25): array {
|
public function searchSupportTickets(string $search, int $pageSize = 25, $overrideQueryParams = null): array {
|
||||||
$curl = curl_init();
|
$curl = curl_init();
|
||||||
|
|
||||||
$baseUrl = 'https://project.xinon.at/api/v3/projects/10/work_packages';
|
$baseUrl = 'https://project.xinon.at/api/v3/projects/10/work_packages';
|
||||||
$queryParams = [
|
$queryParams = ['pageSize' => $pageSize, 'filters' => json_encode([['search' => ['operator' => '**', 'values' => [$search]]]])];
|
||||||
'pageSize' => 25,
|
|
||||||
'filters' => json_encode([['search' => ['operator' => '**', 'values' => [$search]]]])
|
if (!is_null($overrideQueryParams)) $queryParams = $overrideQueryParams;
|
||||||
];
|
|
||||||
|
|
||||||
curl_setopt_array($curl, array(
|
curl_setopt_array($curl, array(
|
||||||
CURLOPT_URL => $baseUrl . '?' . http_build_query($queryParams),
|
CURLOPT_URL => $baseUrl . '?' . http_build_query($queryParams),
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
Vue.component('AddressTickets', {
|
||||||
|
template: `
|
||||||
|
<tt-card>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-hover">
|
||||||
|
<thead class="thead-light">
|
||||||
|
<tr>
|
||||||
|
<th>Kundennummer</th>
|
||||||
|
<th>Erstellt am</th>
|
||||||
|
<th>Betreff</th>
|
||||||
|
<th>Letztes Update</th>
|
||||||
|
<th>Aktion</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="ticket in parsedTickets" :key="ticket.id">
|
||||||
|
<td>{{ ticket.customField7 }}</td>
|
||||||
|
<td>{{ formatDate(ticket.createdAt) }}</td>
|
||||||
|
<td>{{ ticket.subject }}</td>
|
||||||
|
<td>{{ formatDate(ticket.updatedAt) }}</td>
|
||||||
|
<td>
|
||||||
|
<a :href="'https://project.xinon.at' + ticket.activitiesHref.replace('api/v3', 'projects/storungen-and-support').replace('activities', 'activity')" class="btn btn-primary btn-sm" target="_blank">
|
||||||
|
<i class="fas fa-external-link-alt mr-1"></i>
|
||||||
|
Ticket anzeigen
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</tt-card>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
window: window,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
parsedTickets() {
|
||||||
|
return this.window.TT_CONFIG.TICKETS.map(ticket => ({
|
||||||
|
id: ticket.id,
|
||||||
|
customField7: ticket.customField7,
|
||||||
|
createdAt: ticket.createdAt,
|
||||||
|
subject: ticket.subject,
|
||||||
|
updatedAt: ticket.updatedAt,
|
||||||
|
activitiesHref: ticket._links.activities.href
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
formatDate(dateString) {
|
||||||
|
return this.window.moment(dateString).format('DD.MM.YYYY HH:mm');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user