add letter template for contacts
parent
f2d38aa3c7
commit
e555f52b3b
|
|
@ -58,6 +58,26 @@ class ContactController extends Controller
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function letter(Contact $contact)
|
||||||
|
{
|
||||||
|
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(resource_path() . '/docx/letter.docx');
|
||||||
|
$templateProcessor->setValue('date', date("d.m.Y"));
|
||||||
|
$templateProcessor->setValue('company', $contact->company);
|
||||||
|
$templateProcessor->setValue('name', $contact->name);
|
||||||
|
$templateProcessor->setValue('address', $contact->address);
|
||||||
|
$templateProcessor->setValue('city', $contact->full_city);
|
||||||
|
$templateProcessor->setValue('country', $contact->country !== 'CH' ? $contact->country : '');
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$templateProcessor->saveAs("php://output");
|
||||||
|
$contents = ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
|
||||||
|
return response()->streamDownload(function () use ($contents) {
|
||||||
|
echo $contents;
|
||||||
|
}, 'Briefvorlage ' . $contact->title . '.docx');
|
||||||
|
}
|
||||||
|
|
||||||
public function print(Request $request)
|
public function print(Request $request)
|
||||||
{
|
{
|
||||||
return $this->printList($request, Contact::query(), date('Y-m-d') . '-Alle-Kontakte.xlsx');
|
return $this->printList($request, Contact::query(), date('Y-m-d') . '-Alle-Kontakte.xlsx');
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
"laravel/sanctum": "^2.6",
|
"laravel/sanctum": "^2.6",
|
||||||
"laravel/tinker": "^2.5",
|
"laravel/tinker": "^2.5",
|
||||||
"maatwebsite/excel": "^3.1",
|
"maatwebsite/excel": "^3.1",
|
||||||
|
"phpoffice/phpword": "^0.18.2",
|
||||||
"tightenco/ziggy": "^1.0"
|
"tightenco/ziggy": "^1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "d07019045f097a41863bedb5c776ee4e",
|
"content-hash": "4b35f1d5734c957e6b718f39e5a18e7c",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "asm89/stack-cors",
|
"name": "asm89/stack-cors",
|
||||||
|
|
@ -1844,6 +1844,68 @@
|
||||||
],
|
],
|
||||||
"time": "2020-11-30T20:16:31+00:00"
|
"time": "2020-11-30T20:16:31+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laminas/laminas-escaper",
|
||||||
|
"version": "2.9.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laminas/laminas-escaper.git",
|
||||||
|
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f",
|
||||||
|
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.3 || ~8.0.0 || ~8.1.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"zendframework/zend-escaper": "*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"laminas/laminas-coding-standard": "~2.3.0",
|
||||||
|
"phpunit/phpunit": "^9.3",
|
||||||
|
"psalm/plugin-phpunit": "^0.12.2",
|
||||||
|
"vimeo/psalm": "^3.16"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-iconv": "*",
|
||||||
|
"ext-mbstring": "*"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Laminas\\Escaper\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs",
|
||||||
|
"homepage": "https://laminas.dev",
|
||||||
|
"keywords": [
|
||||||
|
"escaper",
|
||||||
|
"laminas"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"chat": "https://laminas.dev/chat",
|
||||||
|
"docs": "https://docs.laminas.dev/laminas-escaper/",
|
||||||
|
"forum": "https://discourse.laminas.dev",
|
||||||
|
"issues": "https://github.com/laminas/laminas-escaper/issues",
|
||||||
|
"rss": "https://github.com/laminas/laminas-escaper/releases.atom",
|
||||||
|
"source": "https://github.com/laminas/laminas-escaper"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://funding.communitybridge.org/projects/laminas-project",
|
||||||
|
"type": "community_bridge"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2021-09-02T17:10:53+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laminas/laminas-eventmanager",
|
"name": "laminas/laminas-eventmanager",
|
||||||
"version": "3.4.0",
|
"version": "3.4.0",
|
||||||
|
|
@ -4050,6 +4112,118 @@
|
||||||
},
|
},
|
||||||
"time": "2021-05-31T18:21:15+00:00"
|
"time": "2021-05-31T18:21:15+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "phpoffice/phpword",
|
||||||
|
"version": "0.18.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/PHPOffice/PHPWord.git",
|
||||||
|
"reference": "aca10785cf68dc95d7f6fac4fe854979fef3f8db"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/PHPOffice/PHPWord/zipball/aca10785cf68dc95d7f6fac4fe854979fef3f8db",
|
||||||
|
"reference": "aca10785cf68dc95d7f6fac4fe854979fef3f8db",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-xml": "*",
|
||||||
|
"laminas/laminas-escaper": "^2.2",
|
||||||
|
"php": "^5.3.3 || ^7.0 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"dompdf/dompdf": "0.8.* || 1.0.*",
|
||||||
|
"ext-gd": "*",
|
||||||
|
"ext-zip": "*",
|
||||||
|
"friendsofphp/php-cs-fixer": "^2.2",
|
||||||
|
"mpdf/mpdf": "5.7.4 || 6.* || 7.* || 8.*",
|
||||||
|
"php-coveralls/php-coveralls": "1.1.0 || ^2.0",
|
||||||
|
"phploc/phploc": "2.* || 3.* || 4.* || 5.* || 6.* || 7.*",
|
||||||
|
"phpmd/phpmd": "2.*",
|
||||||
|
"phpunit/phpunit": "^4.8.36 || ^7.0",
|
||||||
|
"squizlabs/php_codesniffer": "^2.9 || ^3.5",
|
||||||
|
"tecnickcom/tcpdf": "6.*"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"dompdf/dompdf": "Allows writing PDF",
|
||||||
|
"ext-gd2": "Allows adding images",
|
||||||
|
"ext-xmlwriter": "Allows writing OOXML and ODF",
|
||||||
|
"ext-xsl": "Allows applying XSL style sheet to headers, to main document part, and to footers of an OOXML template",
|
||||||
|
"ext-zip": "Allows writing OOXML and ODF"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-develop": "0.19-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"PhpOffice\\PhpWord\\": "src/PhpWord"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-3.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Mark Baker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gabriel Bull",
|
||||||
|
"email": "me@gabrielbull.com",
|
||||||
|
"homepage": "http://gabrielbull.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Franck Lefevre",
|
||||||
|
"homepage": "https://rootslabs.net/blog/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Ivan Lanin",
|
||||||
|
"homepage": "http://ivan.lanin.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Roman Syroeshko",
|
||||||
|
"homepage": "http://ru.linkedin.com/pub/roman-syroeshko/34/a53/994/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Antoine de Troostembergh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHPWord - A pure PHP library for reading and writing word processing documents (OOXML, ODF, RTF, HTML, PDF)",
|
||||||
|
"homepage": "http://phpoffice.github.io",
|
||||||
|
"keywords": [
|
||||||
|
"ISO IEC 29500",
|
||||||
|
"OOXML",
|
||||||
|
"Office Open XML",
|
||||||
|
"OpenDocument",
|
||||||
|
"OpenXML",
|
||||||
|
"PhpOffice",
|
||||||
|
"PhpWord",
|
||||||
|
"Rich Text Format",
|
||||||
|
"WordprocessingML",
|
||||||
|
"doc",
|
||||||
|
"docx",
|
||||||
|
"html",
|
||||||
|
"odf",
|
||||||
|
"odt",
|
||||||
|
"office",
|
||||||
|
"pdf",
|
||||||
|
"php",
|
||||||
|
"reader",
|
||||||
|
"rtf",
|
||||||
|
"template",
|
||||||
|
"template processor",
|
||||||
|
"word",
|
||||||
|
"writer"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/PHPOffice/PHPWord/issues",
|
||||||
|
"source": "https://github.com/PHPOffice/PHPWord/tree/0.18.2"
|
||||||
|
},
|
||||||
|
"time": "2021-06-04T20:58:45+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "phpoption/phpoption",
|
"name": "phpoption/phpoption",
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
|
|
|
||||||
|
|
@ -19623,6 +19623,38 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js":
|
||||||
|
/*!**************************************************************************************************************************************************************************************************************!*\
|
||||||
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js ***!
|
||||||
|
\**************************************************************************************************************************************************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||||||
|
props: {
|
||||||
|
"class": String,
|
||||||
|
href: String
|
||||||
|
},
|
||||||
|
data: function data() {
|
||||||
|
return {
|
||||||
|
colour: 'indigo'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
allClasses: function allClasses() {
|
||||||
|
var classes = 'mb-3 justify-center inline-flex items-center px-4 py-2 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest focus:outline-none focus:ring disabled:opacity-25 transition';
|
||||||
|
classes += " bg-".concat(this.colour, "-800 hover:bg-").concat(this.colour, "-700 active:bg-").concat(this.colour, "-900 focus:border-").concat(this.colour, "-900 focus:ring-").concat(this.colour, "-300");
|
||||||
|
return "".concat(classes, " ").concat(this["class"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js":
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js":
|
||||||
/*!*************************************************************************************************************************************************************************************************************!*\
|
/*!*************************************************************************************************************************************************************************************************************!*\
|
||||||
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js ***!
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js ***!
|
||||||
|
|
@ -22957,11 +22989,13 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
/* harmony import */ var _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/Components/BreadCrumb.vue */ "./resources/js/Components/BreadCrumb.vue");
|
/* harmony import */ var _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/Components/BreadCrumb.vue */ "./resources/js/Components/BreadCrumb.vue");
|
||||||
/* harmony import */ var _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/Components/ContactCard.vue */ "./resources/js/Components/ContactCard.vue");
|
/* harmony import */ var _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/Components/ContactCard.vue */ "./resources/js/Components/ContactCard.vue");
|
||||||
/* harmony import */ var _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/Components/Buttons/EditButton.vue */ "./resources/js/Components/Buttons/EditButton.vue");
|
/* harmony import */ var _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/Components/Buttons/EditButton.vue */ "./resources/js/Components/Buttons/EditButton.vue");
|
||||||
/* harmony import */ var _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/Components/Buttons/DeleteButton.vue */ "./resources/js/Components/Buttons/DeleteButton.vue");
|
/* harmony import */ var _Components_Buttons_LetterButton_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/Components/Buttons/LetterButton.vue */ "./resources/js/Components/Buttons/LetterButton.vue");
|
||||||
/* harmony import */ var _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/Components/Buttons/RestoreButton.vue */ "./resources/js/Components/Buttons/RestoreButton.vue");
|
/* harmony import */ var _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/Components/Buttons/DeleteButton.vue */ "./resources/js/Components/Buttons/DeleteButton.vue");
|
||||||
/* harmony import */ var _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Components/Contracts/ContractTable.vue */ "./resources/js/Components/Contracts/ContractTable.vue");
|
/* harmony import */ var _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/Components/Buttons/RestoreButton.vue */ "./resources/js/Components/Buttons/RestoreButton.vue");
|
||||||
/* harmony import */ var _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Components/SmallTitle.vue */ "./resources/js/Components/SmallTitle.vue");
|
/* harmony import */ var _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Components/Contracts/ContractTable.vue */ "./resources/js/Components/Contracts/ContractTable.vue");
|
||||||
/* harmony import */ var _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/Components/Documents/View.vue */ "./resources/js/Components/Documents/View.vue");
|
/* harmony import */ var _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Components/SmallTitle.vue */ "./resources/js/Components/SmallTitle.vue");
|
||||||
|
/* harmony import */ var _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/Components/Documents/View.vue */ "./resources/js/Components/Documents/View.vue");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -22977,11 +23011,12 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
BreadCrumb: _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__["default"],
|
BreadCrumb: _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__["default"],
|
||||||
ContactCard: _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__["default"],
|
ContactCard: _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__["default"],
|
||||||
EditButton: _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__["default"],
|
EditButton: _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__["default"],
|
||||||
DeleteButton: _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
|
LetterButton: _Components_Buttons_LetterButton_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
|
||||||
RestoreButton: _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_5__["default"],
|
DeleteButton: _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_5__["default"],
|
||||||
ContractTable: _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_6__["default"],
|
RestoreButton: _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_6__["default"],
|
||||||
SmallTitle: _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_7__["default"],
|
ContractTable: _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_7__["default"],
|
||||||
DocumentsView: _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_8__["default"]
|
SmallTitle: _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_8__["default"],
|
||||||
|
DocumentsView: _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_9__["default"]
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
contact: Object
|
contact: Object
|
||||||
|
|
@ -24299,6 +24334,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1":
|
||||||
|
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||||
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1 ***!
|
||||||
|
\******************************************************************************************************************************************************************************************************************************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "render": () => (/* binding */ render)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
|
||||||
|
|
||||||
|
var _hoisted_1 = ["href"];
|
||||||
|
|
||||||
|
var _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(" Briefvorlage ");
|
||||||
|
|
||||||
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
var _component_unicon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("unicon");
|
||||||
|
|
||||||
|
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("a", {
|
||||||
|
href: $props.href,
|
||||||
|
target: "_blank",
|
||||||
|
"class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.allClasses)
|
||||||
|
}, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_unicon, {
|
||||||
|
fill: "white",
|
||||||
|
"class": "mr-1",
|
||||||
|
height: "22",
|
||||||
|
width: "22",
|
||||||
|
name: "file-download"
|
||||||
|
}), _hoisted_2], 10
|
||||||
|
/* CLASS, PROPS */
|
||||||
|
, _hoisted_1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416":
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416":
|
||||||
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
|
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||||
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416 ***!
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416 ***!
|
||||||
|
|
@ -31048,7 +31120,7 @@ var _hoisted_1 = {
|
||||||
"class": "font-semibold text-xl text-gray-800 leading-tight"
|
"class": "font-semibold text-xl text-gray-800 leading-tight"
|
||||||
};
|
};
|
||||||
var _hoisted_2 = {
|
var _hoisted_2 = {
|
||||||
key: 3
|
key: 4
|
||||||
};
|
};
|
||||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
var _component_bread_crumb = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("bread-crumb");
|
var _component_bread_crumb = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("bread-crumb");
|
||||||
|
|
@ -31059,6 +31131,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
|
||||||
var _component_edit_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("edit-button");
|
var _component_edit_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("edit-button");
|
||||||
|
|
||||||
|
var _component_letter_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("letter-button");
|
||||||
|
|
||||||
var _component_delete_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("delete-button");
|
var _component_delete_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("delete-button");
|
||||||
|
|
||||||
var _component_restore_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("restore-button");
|
var _component_restore_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("restore-button");
|
||||||
|
|
@ -31096,13 +31170,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
href: _ctx.route('contacts.edit', $props.contact.id)
|
href: _ctx.route('contacts.edit', $props.contact.id)
|
||||||
}, null, 8
|
}, null, 8
|
||||||
/* PROPS */
|
/* PROPS */
|
||||||
, ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_delete_button, {
|
, ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_letter_button, {
|
||||||
key: 1,
|
key: 1,
|
||||||
|
href: _ctx.route('contacts.letter', $props.contact.id)
|
||||||
|
}, null, 8
|
||||||
|
/* PROPS */
|
||||||
|
, ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_delete_button, {
|
||||||
|
key: 2,
|
||||||
href: _ctx.route('contacts.destroy', $props.contact.id)
|
href: _ctx.route('contacts.destroy', $props.contact.id)
|
||||||
}, null, 8
|
}, null, 8
|
||||||
/* PROPS */
|
/* PROPS */
|
||||||
, ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_restore_button, {
|
, ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_restore_button, {
|
||||||
key: 2,
|
key: 3,
|
||||||
href: _ctx.route('contacts.restore', $props.contact.id)
|
href: _ctx.route('contacts.restore', $props.contact.id)
|
||||||
}, null, 8
|
}, null, 8
|
||||||
/* PROPS */
|
/* PROPS */
|
||||||
|
|
@ -57411,6 +57490,34 @@ const __exports__ = /*#__PURE__*/(0,_var_www_html_node_modules_vue_loader_dist_e
|
||||||
if (false) {}
|
if (false) {}
|
||||||
|
|
||||||
|
|
||||||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/Components/Buttons/LetterButton.vue":
|
||||||
|
/*!**********************************************************!*\
|
||||||
|
!*** ./resources/js/Components/Buttons/LetterButton.vue ***!
|
||||||
|
\**********************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LetterButton.vue?vue&type=template&id=4db458b1 */ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1");
|
||||||
|
/* harmony import */ var _LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LetterButton.vue?vue&type=script&lang=js */ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js");
|
||||||
|
/* harmony import */ var _var_www_html_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
const __exports__ = /*#__PURE__*/(0,_var_www_html_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/Components/Buttons/LetterButton.vue"]])
|
||||||
|
/* hot reload */
|
||||||
|
if (false) {}
|
||||||
|
|
||||||
|
|
||||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
@ -60052,6 +60159,22 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=script&lang=js");
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=script&lang=js");
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js":
|
||||||
|
/*!**********************************************************************************!*\
|
||||||
|
!*** ./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js ***!
|
||||||
|
\**********************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"])
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LetterButton.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js");
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js":
|
/***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js":
|
||||||
|
|
@ -61508,6 +61631,22 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_template_id_2b79e9d5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=template&id=2b79e9d5 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=template&id=2b79e9d5");
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_template_id_2b79e9d5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=template&id=2b79e9d5 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=template&id=2b79e9d5");
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1":
|
||||||
|
/*!****************************************************************************************!*\
|
||||||
|
!*** ./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1 ***!
|
||||||
|
\****************************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__.render)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LetterButton.vue?vue&type=template&id=4db458b1 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1");
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416":
|
/***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416":
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,27 @@
|
||||||
|
<template>
|
||||||
|
<a :href="href" target="_blank" :class="allClasses">
|
||||||
|
<unicon fill="white" class="mr-1" height="22" width="22" name="file-download"></unicon>
|
||||||
|
Briefvorlage
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
class: String,
|
||||||
|
href: String,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
colour: 'indigo',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
allClasses() {
|
||||||
|
let classes = 'mb-3 justify-center inline-flex items-center px-4 py-2 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest focus:outline-none focus:ring disabled:opacity-25 transition';
|
||||||
|
classes += ` bg-${this.colour}-800 hover:bg-${this.colour}-700 active:bg-${this.colour}-900 focus:border-${this.colour}-900 focus:ring-${this.colour}-300`;
|
||||||
|
return `${classes} ${this.class}`;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
<template #actions>
|
<template #actions>
|
||||||
<edit-button v-if="!contact.deleted_at" :href="route('contacts.edit', contact.id)" />
|
<edit-button v-if="!contact.deleted_at" :href="route('contacts.edit', contact.id)" />
|
||||||
|
<letter-button v-if="!contact.deleted_at" :href="route('contacts.letter', contact.id)" />
|
||||||
<delete-button v-if="!contact.deleted_at" :href="route('contacts.destroy', contact.id)" />
|
<delete-button v-if="!contact.deleted_at" :href="route('contacts.destroy', contact.id)" />
|
||||||
<restore-button v-if="contact.deleted_at" :href="route('contacts.restore', contact.id)" />
|
<restore-button v-if="contact.deleted_at" :href="route('contacts.restore', contact.id)" />
|
||||||
<div v-if="contact.deleted_at">
|
<div v-if="contact.deleted_at">
|
||||||
|
|
@ -47,6 +48,7 @@ import ShowPage from '@/Components/ShowPage.vue';
|
||||||
import BreadCrumb from '@/Components/BreadCrumb.vue';
|
import BreadCrumb from '@/Components/BreadCrumb.vue';
|
||||||
import ContactCard from '@/Components/ContactCard.vue';
|
import ContactCard from '@/Components/ContactCard.vue';
|
||||||
import EditButton from '@/Components/Buttons/EditButton.vue';
|
import EditButton from '@/Components/Buttons/EditButton.vue';
|
||||||
|
import LetterButton from '@/Components/Buttons/LetterButton.vue';
|
||||||
import DeleteButton from '@/Components/Buttons/DeleteButton.vue';
|
import DeleteButton from '@/Components/Buttons/DeleteButton.vue';
|
||||||
import RestoreButton from '@/Components/Buttons/RestoreButton.vue';
|
import RestoreButton from '@/Components/Buttons/RestoreButton.vue';
|
||||||
import ContractTable from '../../Components/Contracts/ContractTable.vue';
|
import ContractTable from '../../Components/Contracts/ContractTable.vue';
|
||||||
|
|
@ -59,6 +61,7 @@ export default {
|
||||||
BreadCrumb,
|
BreadCrumb,
|
||||||
ContactCard,
|
ContactCard,
|
||||||
EditButton,
|
EditButton,
|
||||||
|
LetterButton,
|
||||||
DeleteButton,
|
DeleteButton,
|
||||||
RestoreButton,
|
RestoreButton,
|
||||||
ContractTable,
|
ContractTable,
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function () {
|
||||||
Route::prefix('{contact}')->group(function () {
|
Route::prefix('{contact}')->group(function () {
|
||||||
Route::get('/', [ContactController::class, 'show'])->name('contacts.show');
|
Route::get('/', [ContactController::class, 'show'])->name('contacts.show');
|
||||||
Route::get('edit', [ContactController::class, 'edit'])->name('contacts.edit');
|
Route::get('edit', [ContactController::class, 'edit'])->name('contacts.edit');
|
||||||
|
Route::get('letter', [ContactController::class, 'letter'])->name('contacts.letter');
|
||||||
Route::put('/', [ContactController::class, 'update'])->name('contacts.update');
|
Route::put('/', [ContactController::class, 'update'])->name('contacts.update');
|
||||||
Route::get('delete', [ContactController::class, 'destroy'])->name('contacts.destroy');
|
Route::get('delete', [ContactController::class, 'destroy'])->name('contacts.destroy');
|
||||||
Route::get('restore', [ContactController::class, 'restore'])->name('contacts.restore');
|
Route::get('restore', [ContactController::class, 'restore'])->name('contacts.restore');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue