diff --git a/.idea/mein.sterntours.iml b/.idea/mein.sterntours.iml index 75ba92f..5c1b893 100644 --- a/.idea/mein.sterntours.iml +++ b/.idea/mein.sterntours.iml @@ -4,19 +4,24 @@ + + + + + diff --git a/.idea/php.xml b/.idea/php.xml index dbdcf2e..965fbb8 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -109,6 +109,11 @@ + + + + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 9810814..5c1b8ec 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,27 +2,46 @@ - - - + + + + + + + + + + + + - + + + - + - - + + + - - - - - - - + + + + + + + + + + + + - + + + @@ -71,92 +90,76 @@ - @@ -496,11 +514,11 @@ - + + + + - - - @@ -625,17 +643,21 @@ + + + + - - + - + @@ -688,272 +710,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -961,27 +717,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1010,31 +745,17 @@ - + - - - - - + + - + - - - - - - - - - - - - - + + @@ -1045,5 +766,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index da405f1..179fe1a 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -5,7 +5,7 @@ namespace PHPSTORM_META { /** * PhpStorm Meta file, to provide autocomplete information for PhpStorm - * Generated on 2019-03-21 14:09:21. + * Generated on 2019-04-16 17:45:52. * * @author Barry vd. Heuvel * @see https://github.com/barryvdh/laravel-ide-helper @@ -122,6 +122,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -279,6 +281,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -436,6 +440,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -593,6 +599,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -750,6 +758,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -907,6 +917,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, @@ -1064,6 +1076,8 @@ namespace PHPSTORM_META { 'db' => \Illuminate\Database\DatabaseManager::class, 'db.connection' => \Illuminate\Database\MySqlConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, + 'dompdf' => \Dompdf\Dompdf::class, + 'dompdf.wrapper' => \Barryvdh\DomPDF\PDF::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, 'excel' => \Maatwebsite\Excel\Excel::class, diff --git a/_ide_helper.php b/_ide_helper.php index 77b90ab..0e84efd 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -3,7 +3,7 @@ /** * A helper file for Laravel 5, to provide autocomplete information to your IDE - * Generated for Laravel 5.6.39 on 2019-03-21 14:09:21. + * Generated for Laravel 5.6.39 on 2019-04-16 17:45:52. * * This file should not be included in your code, only analyzed by your IDE! * @@ -17404,6 +17404,163 @@ namespace Yajra\DataTables\Facades { } +namespace Barryvdh\DomPDF { + + /** + * + * + */ + class Facade { + + /** + * Get the DomPDF instance + * + * @return \Barryvdh\DomPDF\Dompdf + * @static + */ + public static function getDomPDF() + { + return \Barryvdh\DomPDF\PDF::getDomPDF(); + } + + /** + * Set the paper size (default A4) + * + * @param string $paper + * @param string $orientation + * @return $this + * @static + */ + public static function setPaper($paper, $orientation = 'portrait') + { + return \Barryvdh\DomPDF\PDF::setPaper($paper, $orientation); + } + + /** + * Show or hide warnings + * + * @param bool $warnings + * @return $this + * @static + */ + public static function setWarnings($warnings) + { + return \Barryvdh\DomPDF\PDF::setWarnings($warnings); + } + + /** + * Load a HTML string + * + * @param string $string + * @param string $encoding Not used yet + * @return static + * @static + */ + public static function loadHTML($string, $encoding = null) + { + return \Barryvdh\DomPDF\PDF::loadHTML($string, $encoding); + } + + /** + * Load a HTML file + * + * @param string $file + * @return static + * @static + */ + public static function loadFile($file) + { + return \Barryvdh\DomPDF\PDF::loadFile($file); + } + + /** + * Load a View and convert to HTML + * + * @param string $view + * @param array $data + * @param array $mergeData + * @param string $encoding Not used yet + * @return static + * @static + */ + public static function loadView($view, $data = array(), $mergeData = array(), $encoding = null) + { + return \Barryvdh\DomPDF\PDF::loadView($view, $data, $mergeData, $encoding); + } + + /** + * Set/Change an option in DomPdf + * + * @param array $options + * @return static + * @static + */ + public static function setOptions($options) + { + return \Barryvdh\DomPDF\PDF::setOptions($options); + } + + /** + * Output the PDF as a string. + * + * @return string The rendered PDF as string + * @static + */ + public static function output() + { + return \Barryvdh\DomPDF\PDF::output(); + } + + /** + * Save the PDF to a file + * + * @param $filename + * @return static + * @static + */ + public static function save($filename) + { + return \Barryvdh\DomPDF\PDF::save($filename); + } + + /** + * Make the PDF downloadable by the user + * + * @param string $filename + * @return \Illuminate\Http\Response + * @static + */ + public static function download($filename = 'document.pdf') + { + return \Barryvdh\DomPDF\PDF::download($filename); + } + + /** + * Return a response with the PDF to show in the browser + * + * @param string $filename + * @return \Illuminate\Http\Response + * @static + */ + public static function stream($filename = 'document.pdf') + { + return \Barryvdh\DomPDF\PDF::stream($filename); + } + + /** + * + * + * @static + */ + public static function setEncryption($password) + { + return \Barryvdh\DomPDF\PDF::setEncryption($password); + } + + } + +} + namespace Laracasts\Flash { /** @@ -19876,6 +20033,8 @@ namespace { class DataTables extends \Yajra\DataTables\Facades\DataTables {} + class PDF extends \Barryvdh\DomPDF\Facade {} + class Flash extends \Laracasts\Flash\Flash {} class Html extends \Collective\Html\HtmlFacade {} diff --git a/_ide_helper_models.php b/_ide_helper_models.php index 8b7bc20..a9491bd 100644 --- a/_ide_helper_models.php +++ b/_ide_helper_models.php @@ -67,6 +67,8 @@ namespace App{ * @method static \Illuminate\Database\Query\Builder|\App\User withoutTrashed() * @property-read \Illuminate\Database\Eloquent\Collection|\Laravel\Passport\Client[] $clients * @property-read \Illuminate\Database\Eloquent\Collection|\Laravel\Passport\Token[] $tokens + * @property array|null $permissions + * @method static \Illuminate\Database\Eloquent\Builder|\App\User wherePermissions($value) */ class User extends \Eloquent {} } @@ -263,10 +265,65 @@ namespace App\Models{ * * @property-read \App\User $user * @mixin \Eloquent + * @property int $user_id + * @property string $email + * @property string $token + * @property \Illuminate\Support\Carbon $created_at + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserUpdateEmail whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserUpdateEmail whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserUpdateEmail whereToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserUpdateEmail whereUserId($value) */ class UserUpdateEmail extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoLodging + * + * @property int $id + * @property int $group_id + * @property int $type_id + * @property string $name + * @property string $description + * @property string $equipment + * @property string $adress1 + * @property string $adress2 + * @property string $zip_code + * @property string $city + * @property int $maximum_persons + * @property float $deposit + * @property bool $calendar_visible + * @property \App\Models\FewoLodgingType $fewo_lodging_type + * @property \App\Models\FewoLodgingGroup $fewo_lodging_group + * @property \Illuminate\Database\Eloquent\Collection $fewo_lodging_images + * @property \Illuminate\Database\Eloquent\Collection $fewo_prices + * @property \Illuminate\Database\Eloquent\Collection $fewo_reservations + * @property \Illuminate\Database\Eloquent\Collection $pages + * @property \Illuminate\Database\Eloquent\Collection $travel_user_booking_fewos + * @package App\Models + * @mixin \Eloquent + * @property int|null $maximum_adults + * @property int|null $maximum_childs + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereAdress1($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereAdress2($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereCalendarVisible($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereDeposit($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereEquipment($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereGroupId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereMaximumAdults($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereMaximumChilds($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereMaximumPersons($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereTypeId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodging whereZipCode($value) + */ + class FewoLodging extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\TravelNationalityRequirement @@ -373,6 +430,46 @@ namespace App\Models{ class Country extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoLodgingType + * + * @property int $id + * @property string $name + * @property \Illuminate\Database\Eloquent\Collection $fewo_lodgings + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingType whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingType whereName($value) + */ + class FewoLodgingType extends \Eloquent {} +} + +namespace App\Models{ +/** + * Class FewoSeason + * + * @property int $id + * @property string $name + * @property \Carbon\Carbon $from_date + * @property \Carbon\Carbon $to_date + * @property int $minimum_stay + * @property string $description + * @property int $only_weekday + * @property \Illuminate\Database\Eloquent\Collection $fewo_prices + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereFromDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereMinimumStay($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereOnlyWeekday($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoSeason whereToDate($value) + */ + class FewoSeason extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\DraftItem @@ -420,6 +517,29 @@ namespace App\Models{ class DraftItem extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoLodgingImage + * + * @property int $id + * @property int $lodging_id + * @property int $pos + * @property string $full_file_name + * @property string $file_name + * @property string $description + * @property \App\Models\FewoLodging $fewo_lodging + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage whereFileName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage whereFullFileName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage whereLodgingId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingImage wherePos($value) + */ + class FewoLodgingImage extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\TravelMagazine @@ -451,6 +571,7 @@ namespace App\Models{ * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelMagazine whereSlug($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelMagazine whereText($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelMagazine whereUpdatedAt($value) + * @mixin \Eloquent */ class TravelMagazine extends \Eloquent {} } @@ -476,6 +597,29 @@ namespace App\Models{ class Account extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoReservation + * + * @property int $id + * @property int $lodging_id + * @property \Carbon\Carbon $from_date + * @property \Carbon\Carbon $to_date + * @property int $status + * @property int $type + * @property \App\Models\FewoLodging $fewo_lodging + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereFromDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereLodgingId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereToDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoReservation whereType($value) + */ + class FewoReservation extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\TravelCountry @@ -510,6 +654,47 @@ namespace App\Models{ class TravelCountry extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoLodgingGroupImage + * + * @property int $id + * @property int $group_id + * @property string $comp + * @property int $pos + * @property string $full_file_name + * @property string $file_name + * @property string $description + * @property \App\Models\FewoLodgingGroup $fewo_lodging_group + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereComp($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereFileName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereFullFileName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereGroupId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroupImage wherePos($value) + */ + class FewoLodgingGroupImage extends \Eloquent {} +} + +namespace App\Models{ +/** + * Class FewoLodgingGroup + * + * @property int $id + * @property string $name + * @property \Illuminate\Database\Eloquent\Collection $fewo_lodgings + * @property \Illuminate\Database\Eloquent\Collection $fewo_lodging_group_images + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroup whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoLodgingGroup whereName($value) + */ + class FewoLodgingGroup extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\Status @@ -528,6 +713,28 @@ namespace App\Models{ class Status extends \Eloquent {} } +namespace App\Models{ +/** + * Class FewoPrice + * + * @property int $id + * @property int $lodging_id + * @property int $season_id + * @property float $per_night + * @property float $flat_price + * @property \App\Models\FewoSeason $fewo_season + * @property \App\Models\FewoLodging $fewo_lodging + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoPrice whereFlatPrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoPrice whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoPrice whereLodgingId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoPrice wherePerNight($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\FewoPrice whereSeasonId($value) + */ + class FewoPrice extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\SidebarWidget @@ -585,6 +792,25 @@ namespace App\Models{ class CMSContent extends \Eloquent {} } +namespace App\Models{ +/** + * Class TravelBookingFewoChannel + * + * @property int $id + * @property string $name + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Illuminate\Database\Eloquent\Collection $travel_user_booking_fewos + * @package App\Models + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelBookingFewoChannel whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelBookingFewoChannel whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelBookingFewoChannel whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelBookingFewoChannel whereUpdatedAt($value) + */ + class TravelBookingFewoChannel extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\Page @@ -803,6 +1029,79 @@ namespace App\Models{ class DraftType extends \Eloquent {} } +namespace App\Models{ +/** + * Class TravelUserBookingFewo + * + * @property int $id + * @property int $travel_user_id + * @property int $fewo_lodging_id + * @property string $invoice_number + * @property int $persons + * @property int $adults + * @property int $children + * @property \Carbon\Carbon $booking_date + * @property \Carbon\Carbon $from_date + * @property \Carbon\Carbon $to_date + * @property string $daily_prices + * @property float $price_travel + * @property float $price_deposit + * @property float $price_service + * @property float $price_total + * @property int $travel_booking_fewo_channel_id + * @property string $notice + * @property bool $is_calendar_fewo_direct + * @property bool $is_calendar_hrs + * @property bool $is_calendar_stern_tours + * @property int $status + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $deleted_at + * @property \App\Models\FewoLodging $fewo_lodging + * @property \App\Models\TravelBookingFewoChannel $travel_booking_fewo_channel + * @property \App\Models\TravelUser $travel_user + * @package App\Models + * @method static bool|null forceDelete() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUserBookingFewo onlyTrashed() + * @method static bool|null restore() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUserBookingFewo withTrashed() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUserBookingFewo withoutTrashed() + * @mixin \Eloquent + * @property int|null $fewo_reservation_id + * @property float|null $price_balance + * @property string|null $status_text + * @property-read \App\Models\FewoReservation|null $fewo_reservation + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereAdults($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereBookingDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereChildren($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereDailyPrices($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereDeletedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereFewoLodgingId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereFewoReservationId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereFromDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereInvoiceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereIsCalendarFewoDirect($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereIsCalendarHrs($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereIsCalendarSternTours($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereNotice($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePersons($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePriceBalance($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePriceDeposit($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePriceService($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePriceTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo wherePriceTravel($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereStatusText($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereToDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereTravelBookingFewoChannelId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereTravelUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUserBookingFewo whereUpdatedAt($value) + */ + class TravelUserBookingFewo extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\Feedback @@ -1023,6 +1322,63 @@ namespace App\Models{ class TravelAgenda extends \Eloquent {} } +namespace App\Models{ +/** + * Class TravelUser + * + * @property int $id + * @property int $salutation_id + * @property string $title + * @property string $first_name + * @property string $last_name + * @property string $email + * @property string $password + * @property string $company + * @property string $street + * @property string $zipcode + * @property string $city + * @property string $phone + * @property string $mobil + * @property string $fax + * @property \Carbon\Carbon $birthday + * @property int $travel_nationality_id + * @property string $last_user_data + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $deleted_at + * @property \App\Models\TravelNationality $travel_nationality + * @property \Illuminate\Database\Eloquent\Collection $travel_user_booking_fewos + * @package App\Models + * @method static bool|null forceDelete() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUser onlyTrashed() + * @method static bool|null restore() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUser withTrashed() + * @method static \Illuminate\Database\Query\Builder|\App\Models\TravelUser withoutTrashed() + * @mixin \Eloquent + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereBirthday($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereCompany($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereDeletedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereFax($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereFirstName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereLastName($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereLastUserData($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereMobil($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereSalutationId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereStreet($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereTitle($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereTravelNationalityId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelUser whereZipcode($value) + */ + class TravelUser extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\SfGuardUser diff --git a/app/Http/Controllers/AdminUserController.php b/app/Http/Controllers/AdminUserController.php index 1d3ea35..2d257bc 100755 --- a/app/Http/Controllers/AdminUserController.php +++ b/app/Http/Controllers/AdminUserController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; +use App\Mail\MailVerifyContact; use App\Models\Account; use App\Repositories\UserRepository; use App\Services\HTMLHelper; @@ -39,40 +40,75 @@ class AdminUserController extends Controller return view('admin.users', $data); } - public function edit($user_id) + public function edit($id) { - $user = User::findOrFail($user_id); + if($id == "new"){ + $user = new User(); + }else{ + $user = User::findOrFail($id); + + } /*if(!$user->account){ $user->account = new Account(); } */ $data = [ 'user' => $user, + 'isFromAdmin' => 'true', ]; return view('admin.user_edit', $data); } - /** - * @param Request $request - * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View - */ - public function store(Request $request) + public function store() { - /* $data = Input::all(); - $user = User::findOrFail($data['id']); + $data = Input::all(); - $user->admin = $data['admin']; - $user->confirmed = isset($data['confirmed']) ? true : false; - $user->active = isset($data['active']) ? true : false; - $user->save(); + if($data['user_id'] == "new"){ + $rules = array( + 'name' => 'required', + 'email' => 'required|string|email|max:255|unique:users', + 'email-confirm' => 'required|same:email', + ); + }else{ + $rules = array( + 'name' => 'required' + ); + } + $validator = Validator::make(Input::all(), $rules); + if ($validator->fails()) { + return back()->withInput(Input::all())->withErrors($validator); + } + if($data['user_id'] == "new"){ + $user = User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => env('APP_KEY'), + ]); + $unique = false; + do{ + $confirmation_code = str_random(30); + if( User::where('confirmation_code', '=', $confirmation_code)->count() == 0){ + $unique = true; + } + } + while(!$unique); + $user->confirmation_code = $confirmation_code; + $user->save(); + + Mail::to($user->email)->send(new MailVerifyContact($confirmation_code, $user)); + + + }else{ + $user = User::findOrFail($data['user_id']); + $user->name = $data['name']; + $user->save(); + } \Session()->flash('alert-save', true); - */ return redirect('/admin/users'); - } public function deleteUser($user_id) diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2180191..382027c 100755 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -131,6 +131,81 @@ class HomeController extends Controller return abort(404); } + public function verify($confirmation_code = false){ + if( ! $confirmation_code) + { + return redirect('/status/error'); + } + + $user = User::whereConfirmationCode($confirmation_code)->whereConfirmed(0)->first(); + if ( ! $user) + { + $user = User::whereConfirmationCode($confirmation_code)->whereActive(0)->first(); + if ($user){ + return redirect(route('register_active', [$confirmation_code])); + } + return redirect('/status/not/found'); + } + + $user->confirmed = 1; + $user->confirmation_date = now(); + $user->confirmation_code = null; + $user->confirmation_code_to = null; + $user->confirmation_code_remider = 0; + $user->save(); + + //Login! + Auth::logout(); + Auth::loginUsingId($user->id); + + return redirect('/status/verify'); + } + + public function active($confirmation_code = false){ + if( ! $confirmation_code) + { + return redirect('/status/error'); + } + $user = User::whereConfirmationCode($confirmation_code)->whereActive(0)->first(); + + if ( ! $user) + { + $user = User::whereConfirmationCode($confirmation_code)->whereConfirmed(0)->first(); + if ($user){ + return redirect(route('register_verify', [$confirmation_code])); + } + return redirect('/status/not/found'); + } + + $user->active_date = null; + $user->confirmation_code = null; + $user->confirmation_code_to = null; + $user->confirmation_code_remider = 0; + $user->save(); + + //Login! + Auth::logout(); + Auth::loginUsingId($user->id); + + return redirect(route('status_active')); + } + + public function statusRegister(){ + return view('status.status_register'); + } + public function statusVerify(){ + return view('status.status_verify'); + } + public function statusActive(){ + return view('status.status_active'); + } + public function statusError(){ + return view('status.status_error'); + } + public function notFound(){ + return view('status.not_found'); + } + public function legalDataProtected() { return view('legal.data_protected'); diff --git a/app/Http/Controllers/TravelUserBookingFewoController.php b/app/Http/Controllers/TravelUserBookingFewoController.php index 3cf83b4..befb5ef 100755 --- a/app/Http/Controllers/TravelUserBookingFewoController.php +++ b/app/Http/Controllers/TravelUserBookingFewoController.php @@ -6,17 +6,19 @@ namespace App\Http\Controllers; use App\Models\FewoPrice; use App\Models\FewoReservation; use App\Models\FewoSeason; -use App\Models\TravelUser; use App\Models\TravelUserBookingFewo; +use App\Repositories\TravelUserBookingFewoRepository; use Carbon\Carbon; use Input; -use Validator; class TravelUserBookingFewoController extends Controller { - public function __construct() + protected $userBookingFewoRepo; + + public function __construct(TravelUserBookingFewoRepository $userBookingFewoRepo) { $this->middleware('admin'); + $this->userBookingFewoRepo = $userBookingFewoRepo; } @@ -29,7 +31,6 @@ class TravelUserBookingFewoController extends Controller } - public function detail($id) { $max_adults = 10; @@ -50,205 +51,34 @@ class TravelUserBookingFewoController extends Controller 'id' => $id, ]; return view('travel.user.booking.detail', $data); - } public function store($id) { $data = Input::all(); - - //check for data - $check_for_reservation = true; - $fewo_reservation_id = 0; - if($id > 0) { - $model = TravelUserBookingFewo::findOrFail($id); - if($data['from_date'] == $model->from_date && $data['to_date'] == $model->to_date){ - $check_for_reservation = false; - } - $fewo_reservation_id = $model->fewo_reservation_id; - + if($data['action'] == 'saveAll'){ + return $this->userBookingFewoRepo->update($id, $data); } - if($check_for_reservation){ - $from_date = Carbon::parse($data['from_date'])->format('Y-m-d'); - $to_date = Carbon::parse($data['to_date'])->format('Y-m-d'); - echo "
"; - $fewos = FewoReservation::where('lodging_id', $data['fewo_lodging_id']) - ->where('id', '!=', $fewo_reservation_id) - ->where('from_date', '<', $to_date) - ->where('to_date', '>', $from_date) - ->get(); - if($fewos->count()){ - $error = []; - foreach ($fewos as $fewo){ - $error[] = "Reservierung gefunden: ".$fewo->from_date->format('d.m.Y')." - ".$fewo->to_date->format('d.m.Y'); - } - return back()->withInput(Input::all())->withErrors($error); + + if($data['action'] == 'createInvoice'){ + if(!TravelUserBookingFewo::find($id)){ + \Session()->flash('alert-error', __('Buchung nicht gefunden.')); + return back()->withInput(Input::all()); } - } - - - - //check for - - $rules = array( - 'travel_user_id' => 'required', - 'fewo_lodging_id' => 'required', - 'from_date'=>'required', - 'to_date'=>'required', - 'travel_booking_fewo_channel_id' => 'required', - 'status' => 'required' - ); - - $validator = Validator::make(Input::all(), $rules); - - /* $message = 'my custom validation rule message' . $data['from_date']; - Validator::extend('my_custom_validation_rule', function ($attribute, $value, $parameters) { - // - }, $message); - */ - if ($validator->fails()) { - return back()->withInput(Input::all())->withErrors($validator); - } - - $set_price = true; - $data['is_calendar_fewo_direct'] = isset($data['is_calendar_fewo_direct']) ? true : false; - $data['is_calendar_hrs'] = isset($data['is_calendar_hrs']) ? true : false; - $data['is_calendar_stern_tours'] = isset($data['is_calendar_stern_tours']) ? true : false; - - - if($id == "new") { - $model = TravelUserBookingFewo::create($data); - - }else{ - $model = TravelUserBookingFewo::findOrFail($id); - if($data['from_date'] == $model->from_date && $data['to_date'] == $model->to_date){ - $set_price = false; + return $this->userBookingFewoRepo->createInvoicePDF($id, $data); + $ret = $this->userBookingFewoRepo->check($id, $data); + if($ret['success'] == false){ + return back()->withInput(Input::all())->withErrors($ret['error']); } - $model->fill($data)->save(); - } - - $res = $this->calculatePriceNew($model); - $model->daily_prices = $res['season']; - if($set_price){ - $model->price_travel = $res['price_travel']; - $model->price_service = $res['price_service']; - $model->price_deposit = $res['price_deposit']; - $model->price_total = $res['price_total'] + $model->getPriceBalanceRaw(); - - if($fewo_reservation = $model->fewo_reservation){ - $model->fewo_reservation->from_date = $model->getFromDateRaw(); - $model->fewo_reservation->to_date = $model->getToDateRaw(); - $model->fewo_reservation->save(); + if($ret['success'] == true){ + return redirect(route('travel_user_booking_fewo_detail', [$ret['id']])); } } - if($fewo_reservation = $model->fewo_reservation){ - if($model->is_calendar_stern_tours){ - $model->fewo_reservation->from_date = $model->getFromDateRaw(); - $model->fewo_reservation->to_date = $model->getToDateRaw(); - }else{ - $model->fewo_reservation->from_date = null; - $model->fewo_reservation->to_date = null; - } - $model->fewo_reservation->save(); - }else{ - if($model->is_calendar_stern_tours){ - - $res = FewoReservation::create([ - 'lodging_id' => $model->fewo_lodging_id, - 'from_date' => $model->getFromDateRaw(), - 'to_date' => $model->getToDateRaw(), - 'status' => 0, - 'type' => 0]); - $model->fewo_reservation_id = $res->id; - $model->save(); - } - } - - $model->save(); - - \Session()->flash('alert-save', '1'); - return redirect(route('travel_user_booking_fewo_detail', [$model->id])); - } - private function calculatePriceNew(TravelUserBookingFewo $travel_user_booking_fewo){ - $FewoSeasons = FewoSeason::where('from_date', '<', $travel_user_booking_fewo->getToDateRaw()) - ->where('to_date', '>=', $travel_user_booking_fewo->getFromDateRaw()) - ->get(); - $seasons = []; - foreach ($FewoSeasons as $fewoSeason){ - $FewoPrices = FewoPrice::where('lodging_id', $travel_user_booking_fewo->fewo_lodging_id)->where('season_id', $fewoSeason->id)->get(); - $price = []; - foreach ($FewoPrices as $fewoPrice){ - $price = $fewoPrice; - } - $seasons[] = [ - 'name' => $fewoSeason->name, - 'fromDay' => $fewoSeason->from_date->format("Y-m-d"), - 'toDay' => $fewoSeason->to_date->format("Y-m-d"), - 'minimum_stay' => $fewoSeason->minimum_stay, - 'price' => $price, - ]; - - } - $fromDate = Carbon::parse($travel_user_booking_fewo->getFromDateRaw()); - $toDate = Carbon::parse($travel_user_booking_fewo->gettoDateRaw()); - - $interval = \DateInterval::createFromDateString('1 day'); - $period = new \DatePeriod($fromDate, $interval, $toDate); - $check_days = array(); - - - $result = []; - $result['price_total'] = 0; - $result['price_travel'] = 0; - $result['price_deposit'] = $travel_user_booking_fewo->getPriceDepositRaw(); - $result['price_service'] = 0; - $result['days'] = 0; - $result['season'] = []; - $frist_day = false; - - //days - foreach ($period as $dt) { - - foreach ($seasons as $season) { - if($dt->format("Y-m-d") >= $season['fromDay'] && $dt->format("Y-m-d") <= $season['toDay']){ - $check_days[] = $dt->format("d.m.Y"); - $price = $season['price']; - $name = $season['name']; - - if(!isset($result['season'][$name])){ - $result['season'][$name]['fromDay'] = $dt->format("d.m.Y"); - $result['price_service'] = $price->flat_price; - $result['season'][$name]['price'] = 0; - $result['season'][$name]['numberDays'] = 0; - $result['season'][$name]['perNight'] = $price->per_night; - $result['season'][$name]['minimumStay'] = $season['minimum_stay']; - } - - if(!$frist_day){ - $result['season'][$name]['price'] += $price->per_night; - $result['season'][$name]['numberDays'] ++; - $result['season'][$name]['toDay'] = $dt->format("d.m.Y"); - $result['price_travel'] += $price->per_night; - - $result['days'] ++; - - }else{ - $frist_day = true; - } - - } - } - - } - $result['price_total'] = $result['price_deposit'] + $result['price_travel'] + $result['price_service']; - return $result; - - } public function delete($id){ $model = TravelUserBookingFewo::findOrFail($id); diff --git a/app/Http/Controllers/UserDataController.php b/app/Http/Controllers/UserDataController.php index 5ffc7dd..2be1615 100755 --- a/app/Http/Controllers/UserDataController.php +++ b/app/Http/Controllers/UserDataController.php @@ -24,12 +24,9 @@ class UserDataController extends Controller */ public function userEdit(){ $user = Auth::user(); - - /*if(!$user->account){ - $user->account = new UserAccount(); - }*/ $data = [ 'user' => $user, + 'isFromAdmin' => false, ]; return view('user.edit', $data); } @@ -40,37 +37,18 @@ class UserDataController extends Controller public function userEditStore(){ $user = Auth::user(); - /*if(!$user->account){ - $user->account = new UserAccount(); - }*/ + $rules = array( - 'salutation' => 'required', - 'last_name' => 'required|max:255', - 'country_id' => 'required|integer|min:1', - 'email' => 'required|string|email|max:255|exists:users,email', - 'email-confirm' => 'required|same:email', + 'name' => 'required' ); - - if(Input::get('company') == 1){ - $rules['company_name'] = 'required|max:255'; - $rules['company_country_id'] = 'required|integer|min:1'; - } - - $data = [ - 'user' => $user, - ]; - $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { - - // get the error messages from the validator - $messages = $validator->messages(); - // redirect our user back to the form with the errors from the validator - return view('user.edit', $data)->withErrors($validator); - + return back()->withInput(Input::all())->withErrors($validator); } else { - $this->userRepo->update(Input::all()); + $data = Input::all(); + $user->name = $data['name']; + $user->save(); \Session()->flash('alert-save', true); return redirect('/user/edit'); } diff --git a/app/Http/Controllers/UserUpdateEmailController.php b/app/Http/Controllers/UserUpdateEmailController.php index e2316b3..1071287 100755 --- a/app/Http/Controllers/UserUpdateEmailController.php +++ b/app/Http/Controllers/UserUpdateEmailController.php @@ -70,9 +70,7 @@ class UserUpdateEmailController extends Controller } - /* - * - * public function adminChangeMail($user_id) + public function adminChangeMail($user_id) { if(!Auth::user()->isAdmin()){ abort(404); @@ -83,7 +81,7 @@ class UserUpdateEmailController extends Controller return view('admin.change_email', $data); } - public function adminUpdateMail(Request $request, $user_id) + public function adminUpdateMail(Request $request, $user_id) { if(!Auth::user()->isAdmin()){ abort(404); @@ -110,19 +108,16 @@ class UserUpdateEmailController extends Controller if ($validator->fails()) { // redirect our user back to the form with the errors from the validator $messages = $validator->messages(); - return view('admin.change_email', $data)->withErrors($validator); - - }else{ $this->sendActivationMail($user, $request->all()); \Session()->flash('alert-success', __('An activation code was sent to the account by e-mail!')); - return redirect(route('admin_lead_edit', [$user->id])); + return redirect(route('admin_user_edit', [$user->id])); } } - */ + diff --git a/app/Mail/MailVerifyContact.php b/app/Mail/MailVerifyContact.php index 98c3252..00daecb 100644 --- a/app/Mail/MailVerifyContact.php +++ b/app/Mail/MailVerifyContact.php @@ -36,12 +36,11 @@ class MailVerifyContact extends Mailable } } */ - return $this->view('emails.auth')->with([ 'url' => route('register_verify', $this->confirmation_code), 'salutation' => $salutation, - 'button' => __('Verify your Data and E-Mail Address'), - 'copy1line' => __('We have data about you stored in our JACKON Infomanager. Please follow the link below to verify your email address.You can also change or delete your data.'), + 'button' => __('Verify Your Email Address'), + 'copy1line' => __('Please follow the link below to verify your email address.'), 'copy2line' => __('Or copy this link into the address bar of your browser.'), 'greetings' => __('Best regards'), diff --git a/app/Models/TravelUserBookingFewo.php b/app/Models/TravelUserBookingFewo.php index b9e3675..64ebc01 100644 --- a/app/Models/TravelUserBookingFewo.php +++ b/app/Models/TravelUserBookingFewo.php @@ -326,4 +326,53 @@ class TravelUserBookingFewo extends Model return isset($this->attributes['price_total']) ? $this->attributes['price_total'] : 0; } + public function getBookingDateYear(){ + return Carbon::parse($this->booking_date)->format('Y'); + } + + public function getPriceTotalFirstPay(){ + if($this->attributes['price_total'] == 0){ + return 0; + } + $first_pay = $this->attributes['price_total']/2; + return number_format(($first_pay), 2, ',', '.'); + } + public function getPriceTotalSecondPay(){ + if($this->attributes['price_total'] == 0){ + return 0; + } + $first_pay = $this->attributes['price_total']/2; + return number_format(($this->attributes['price_total'] - $first_pay), 2, ',', '.'); + } + public function getPriceTravelFirstPay(){ + if($this->attributes['price_travel'] == 0){ + return 0; + } + $first_pay = $this->attributes['price_travel']/2; + return number_format(($first_pay), 2, ',', '.'); + } + public function getPriceTravelSecondPay(){ + if($this->attributes['price_travel'] == 0){ + return 0; + } + $first_pay = $this->attributes['price_travel']/2; + return number_format(($this->attributes['price_travel'] - $first_pay + $this->attributes['price_deposit']), 2, ',', '.'); + } + public function getBookingUserAddress(){ + if($this->travel_user){ + $company = $this->travel_user->company ? $this->travel_user->company ."\n" : ""; + $title = $this->travel_user->title ? $this->travel_user->title."\n" : ""; + $nationality = $this->travel_user->travel_nationality_id ? "\n".$this->travel_user->travel_nationality->name : ""; + return $company.$title.$this->travel_user->first_name." ".$this->travel_user->last_name."\n".$this->travel_user->street."\n".$this->travel_user->zip_code." ".$this->travel_user->city.$nationality; + } + return ""; + } + public function getNameAddressLocation(){ + if($this->fewo_lodging){ + return $this->fewo_lodging->name."\n".$this->fewo_lodging->adress1." ".$this->fewo_lodging->adress2.", ".$this->fewo_lodging->zip_code." ".$this->fewo_lodging->city; + } + return ""; + } + + } diff --git a/app/Models/UserUpdateEmail.php b/app/Models/UserUpdateEmail.php index 7f1009b..e44fbd9 100644 --- a/app/Models/UserUpdateEmail.php +++ b/app/Models/UserUpdateEmail.php @@ -14,7 +14,7 @@ class UserUpdateEmail extends Model { protected $connection = 'mysql'; - protected $table = 'users_update_email'; + protected $table = 'user_update_emails'; protected $fillable = [ 'user_id', 'email', 'token', diff --git a/app/Repositories/TravelUserBookingFewoRepository.php b/app/Repositories/TravelUserBookingFewoRepository.php new file mode 100644 index 0000000..0f9151b --- /dev/null +++ b/app/Repositories/TravelUserBookingFewoRepository.php @@ -0,0 +1,317 @@ +model = $model; + } + + + + public function createInvoicePDF($id){ + + $model = TravelUserBookingFewo::findOrFail($id); + $data = [ + 'model' => $model, + ]; + $pdf = PDF::loadView('pdf.invoice_fewo', $data); + $pdf->setPaper('A4', 'portrait'); + + $dir = "/".$model->getBookingDateYear()."/"; + if(!Storage::disk('invoices_fewo')->exists( $dir )){ + Storage::disk('invoices_fewo')->makeDirectory($dir); //creates directory + } + $path = Storage::disk('invoices_fewo')->getAdapter()->getPathPrefix(); + $filename = Util::sanitize($model->invoice_number).".pdf"; + + $pdf->save($path.$dir.$filename); + + //return $path.$dir.$filename; + + return $pdf->stream('invoice.pdf'); + } + public function check($id,$data) + { + //check for data + $model = TravelUserBookingFewo::findOrFail($id); + $fewo_reservation_id = $model->fewo_reservation_id; + + $from_date = Carbon::parse($data['from_date'])->format('Y-m-d'); + $to_date = Carbon::parse($data['to_date'])->format('Y-m-d'); + $fewos = FewoReservation::where('lodging_id', $data['fewo_lodging_id']) + ->where('id', '!=', $fewo_reservation_id) + ->where('from_date', '<', $to_date) + ->where('to_date', '>', $from_date) + ->get(); + + if($fewos->count()){ + $error = []; + foreach ($fewos as $fewo){ + $error[] = "Reservierung gefunden: ".$fewo->from_date->format('d.m.Y')." - ".$fewo->to_date->format('d.m.Y'); + } + return ['success' => false, 'error' => $error]; + } + + //check for + $rules = array( + 'travel_user_id' => 'required', + 'fewo_lodging_id' => 'required', + 'booking_date' => 'required', + 'invoice_number' => 'required', + 'from_date'=>'required', + 'to_date'=>'required', + 'travel_booking_fewo_channel_id' => 'required', + 'status' => 'required' + ); + + $validator = Validator::make(Input::all(), $rules); + if ($validator->fails()) { + return ['success' => false, 'error' => $validator]; + } + + + $model = TravelUserBookingFewo::findOrFail($id); + $model->fill($data)->save(); + $res = $this->calculatePriceNew($model); + + $model->daily_prices = $res['season']; + + if($fewo_reservation = $model->fewo_reservation){ + if($model->is_calendar_stern_tours){ + $model->fewo_reservation->from_date = $model->getFromDateRaw(); + $model->fewo_reservation->to_date = $model->getToDateRaw(); + }else{ + $model->fewo_reservation->from_date = null; + $model->fewo_reservation->to_date = null; + } + $model->fewo_reservation->save(); + }else{ + if($model->is_calendar_stern_tours){ + $res = FewoReservation::create([ + 'lodging_id' => $model->fewo_lodging_id, + 'from_date' => $model->getFromDateRaw(), + 'to_date' => $model->getToDateRaw(), + 'status' => 0, + 'type' => 0]); + $model->fewo_reservation_id = $res->id; + $model->save(); + } + } + $model->save(); + \Session()->flash('alert-save', '1'); + return ['success' => true, 'id' => $model->id]; + + } + + public function update($id,$data) + { + //check for data + $check_for_reservation = true; + $fewo_reservation_id = 0; + if($id > 0) { + $model = TravelUserBookingFewo::findOrFail($id); + if($data['from_date'] == $model->from_date && $data['to_date'] == $model->to_date){ + $check_for_reservation = false; + } + $fewo_reservation_id = $model->fewo_reservation_id; + + } + if($check_for_reservation){ + $from_date = Carbon::parse($data['from_date'])->format('Y-m-d'); + $to_date = Carbon::parse($data['to_date'])->format('Y-m-d'); + $fewos = FewoReservation::where('lodging_id', $data['fewo_lodging_id']) + ->where('id', '!=', $fewo_reservation_id) + ->where('from_date', '<', $to_date) + ->where('to_date', '>', $from_date) + ->get(); + if($fewos->count()){ + $error = []; + foreach ($fewos as $fewo){ + $error[] = "Reservierung gefunden: ".$fewo->from_date->format('d.m.Y')." - ".$fewo->to_date->format('d.m.Y'); + } + return back()->withInput(Input::all())->withErrors($error); + } + + } + //check for + $rules = array( + 'travel_user_id' => 'required', + 'fewo_lodging_id' => 'required', + 'from_date'=>'required', + 'to_date'=>'required', + 'travel_booking_fewo_channel_id' => 'required', + 'status' => 'required' + ); + + $validator = Validator::make(Input::all(), $rules); + + /* $message = 'my custom validation rule message' . $data['from_date']; + Validator::extend('my_custom_validation_rule', function ($attribute, $value, $parameters) { + // + }, $message); + */ + if ($validator->fails()) { + return back()->withInput(Input::all())->withErrors($validator); + } + + $set_price = true; + $data['is_calendar_fewo_direct'] = isset($data['is_calendar_fewo_direct']) ? true : false; + $data['is_calendar_hrs'] = isset($data['is_calendar_hrs']) ? true : false; + $data['is_calendar_stern_tours'] = isset($data['is_calendar_stern_tours']) ? true : false; + + + if($id == "new") { + $model = TravelUserBookingFewo::create($data); + + }else{ + $model = TravelUserBookingFewo::findOrFail($id); + if($data['from_date'] == $model->from_date && $data['to_date'] == $model->to_date){ + $set_price = false; + } + $model->fill($data)->save(); + } + + $res = $this->calculatePriceNew($model); + $model->daily_prices = $res['season']; + if($set_price){ + $model->price_travel = $res['price_travel']; + $model->price_service = $res['price_service']; + $model->price_deposit = $res['price_deposit']; + $model->price_total = $res['price_total'] + $model->getPriceBalanceRaw(); + + if($fewo_reservation = $model->fewo_reservation){ + $model->fewo_reservation->from_date = $model->getFromDateRaw(); + $model->fewo_reservation->to_date = $model->getToDateRaw(); + $model->fewo_reservation->save(); + + } + } + if($fewo_reservation = $model->fewo_reservation){ + if($model->is_calendar_stern_tours){ + $model->fewo_reservation->from_date = $model->getFromDateRaw(); + $model->fewo_reservation->to_date = $model->getToDateRaw(); + }else{ + $model->fewo_reservation->from_date = null; + $model->fewo_reservation->to_date = null; + } + $model->fewo_reservation->save(); + }else{ + if($model->is_calendar_stern_tours){ + + $res = FewoReservation::create([ + 'lodging_id' => $model->fewo_lodging_id, + 'from_date' => $model->getFromDateRaw(), + 'to_date' => $model->getToDateRaw(), + 'status' => 0, + 'type' => 0]); + $model->fewo_reservation_id = $res->id; + $model->save(); + } + } + $model->save(); + \Session()->flash('alert-save', '1'); + return redirect(route('travel_user_booking_fewo_detail', [$model->id])); + } + + + private function calculatePriceNew(TravelUserBookingFewo $travel_user_booking_fewo){ + + $FewoSeasons = FewoSeason::where('from_date', '<', $travel_user_booking_fewo->getToDateRaw()) + ->where('to_date', '>=', $travel_user_booking_fewo->getFromDateRaw()) + ->get(); + $seasons = []; + foreach ($FewoSeasons as $fewoSeason){ + $FewoPrices = FewoPrice::where('lodging_id', $travel_user_booking_fewo->fewo_lodging_id)->where('season_id', $fewoSeason->id)->get(); + $price = []; + foreach ($FewoPrices as $fewoPrice){ + $price = $fewoPrice; + } + $seasons[] = [ + 'name' => $fewoSeason->name, + 'fromDay' => $fewoSeason->from_date->format("Y-m-d"), + 'toDay' => $fewoSeason->to_date->format("Y-m-d"), + 'minimum_stay' => $fewoSeason->minimum_stay, + 'price' => $price, + ]; + + } + $fromDate = Carbon::parse($travel_user_booking_fewo->getFromDateRaw()); + $toDate = Carbon::parse($travel_user_booking_fewo->gettoDateRaw()); + + $interval = \DateInterval::createFromDateString('1 day'); + $period = new \DatePeriod($fromDate, $interval, $toDate); + $check_days = array(); + + + $result = []; + $result['price_total'] = 0; + $result['price_travel'] = 0; + $result['price_deposit'] = $travel_user_booking_fewo->getPriceDepositRaw(); + $result['price_service'] = 0; + $result['days'] = 0; + $result['season'] = []; + $frist_day = false; + + //days + foreach ($period as $dt) { + + foreach ($seasons as $season) { + if($dt->format("Y-m-d") >= $season['fromDay'] && $dt->format("Y-m-d") <= $season['toDay']){ + $check_days[] = $dt->format("d.m.Y"); + $price = $season['price']; + $name = $season['name']; + + if(!isset($result['season'][$name])){ + $result['season'][$name]['fromDay'] = $dt->format("d.m.Y"); + $result['price_service'] = $price->flat_price; + $result['season'][$name]['price'] = 0; + $result['season'][$name]['numberDays'] = 0; + $result['season'][$name]['perNight'] = $price->per_night; + $result['season'][$name]['minimumStay'] = $season['minimum_stay']; + } + + if(!$frist_day){ + $result['season'][$name]['price'] += $price->per_night; + $result['season'][$name]['numberDays'] ++; + $result['season'][$name]['toDay'] = $dt->format("d.m.Y"); + $result['price_travel'] += $price->per_night; + + $result['days'] ++; + + }else{ + $frist_day = true; + } + + } + } + + } + $result['price_total'] = $result['price_deposit'] + $result['price_travel'] + $result['price_service']; + return $result; + + } + + + + +} \ No newline at end of file diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index cdd2c10..456ad72 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -89,9 +89,6 @@ class UserRepository extends BaseRepository { public function deleteUser(User $user) { - if($user->account){ - $user->account->delete(); - } $user->email = "delete".time(); $user->password = ""; $user->confirmed = 0; @@ -101,11 +98,11 @@ class UserRepository extends BaseRepository { $user->confirmation_code_remider = 2; $user->agreement = null; $user->active = 0; - $user->token = ''; + $user->identify = ''; $user->active_date = null; $user->admin = 0; + $user->deleted_at = now(); $user->save(); - return true; } diff --git a/app/Services/Util.php b/app/Services/Util.php index 86d211e..5a1761b 100644 --- a/app/Services/Util.php +++ b/app/Services/Util.php @@ -32,4 +32,24 @@ class Util public static function _format_number($value){ return preg_replace("/[^0-9,]/", "", $value); } + + public static function sanitize($string, $force_lowercase = true, $anal = false, $substr = false) + { + $strip = array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]", + "}", "\\", "|", ";", ":", "\"", "'", "‘", "’", "“", "”", "–", "—", + "—", "–", ",", "<", ".", ">", "/", "?"); + $clean = trim(str_replace($strip, "", strip_tags($string))); + $clean = preg_replace('/\s+/', "_", $clean); + $clean = ($anal) ? preg_replace("/[^a-zA-Z0-9]/", "", $clean) : $clean ; + + if($substr){ + $clean = (strlen($clean) > 33) ? substr($clean,-33) : $clean; + + } + return ($force_lowercase) ? + (function_exists('mb_strtolower')) ? + mb_strtolower($clean, 'UTF-8') : + strtolower($clean) : + $clean; + } } \ No newline at end of file diff --git a/bootstrap/cache/packages.php b/bootstrap/cache/packages.php index f99d36c..a80e4f4 100644 --- a/bootstrap/cache/packages.php +++ b/bootstrap/cache/packages.php @@ -1,4 +1,15 @@ + array ( + 'providers' => + array ( + 0 => 'Barryvdh\\DomPDF\\ServiceProvider', + ), + 'aliases' => + array ( + 'PDF' => 'Barryvdh\\DomPDF\\Facade', + ), + ), 'barryvdh/laravel-ide-helper' => array ( 'providers' => diff --git a/bootstrap/cache/services.php b/bootstrap/cache/services.php index 81ea0e6..8481f1b 100644 --- a/bootstrap/cache/services.php +++ b/bootstrap/cache/services.php @@ -23,32 +23,33 @@ 19 => 'Illuminate\\Translation\\TranslationServiceProvider', 20 => 'Illuminate\\Validation\\ValidationServiceProvider', 21 => 'Illuminate\\View\\ViewServiceProvider', - 22 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider', - 23 => 'Cviebrock\\EloquentSluggable\\ServiceProvider', - 24 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 25 => 'Intervention\\Image\\ImageServiceProvider', - 26 => 'Jenssegers\\Date\\DateServiceProvider', - 27 => 'Laracasts\\Flash\\FlashServiceProvider', - 28 => 'Laravel\\Passport\\PassportServiceProvider', - 29 => 'Laravel\\Tinker\\TinkerServiceProvider', - 30 => 'Collective\\Html\\HtmlServiceProvider', - 31 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 32 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - 33 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 22 => 'Barryvdh\\DomPDF\\ServiceProvider', + 23 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider', + 24 => 'Cviebrock\\EloquentSluggable\\ServiceProvider', + 25 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', + 26 => 'Intervention\\Image\\ImageServiceProvider', + 27 => 'Jenssegers\\Date\\DateServiceProvider', + 28 => 'Laracasts\\Flash\\FlashServiceProvider', + 29 => 'Laravel\\Passport\\PassportServiceProvider', + 30 => 'Laravel\\Tinker\\TinkerServiceProvider', + 31 => 'Collective\\Html\\HtmlServiceProvider', + 32 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 33 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', 34 => 'Yajra\\DataTables\\DataTablesServiceProvider', - 35 => 'Laravel\\Tinker\\TinkerServiceProvider', - 36 => 'Laravel\\Passport\\PassportServiceProvider', - 37 => 'App\\Providers\\AppServiceProvider', - 38 => 'App\\Providers\\AuthServiceProvider', - 39 => 'App\\Providers\\EventServiceProvider', - 40 => 'App\\Providers\\RouteServiceProvider', - 41 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider', - 42 => 'Jenssegers\\Date\\DateServiceProvider', - 43 => 'Collective\\Html\\HtmlServiceProvider', - 44 => 'Intervention\\Image\\ImageServiceProvider', - 45 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 46 => 'Yajra\\DataTables\\DataTablesServiceProvider', - 47 => 'Reliese\\Coders\\CodersServiceProvider', + 35 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 36 => 'Laravel\\Tinker\\TinkerServiceProvider', + 37 => 'Laravel\\Passport\\PassportServiceProvider', + 38 => 'App\\Providers\\AppServiceProvider', + 39 => 'App\\Providers\\AuthServiceProvider', + 40 => 'App\\Providers\\EventServiceProvider', + 41 => 'App\\Providers\\RouteServiceProvider', + 42 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider', + 43 => 'Jenssegers\\Date\\DateServiceProvider', + 44 => 'Collective\\Html\\HtmlServiceProvider', + 45 => 'Intervention\\Image\\ImageServiceProvider', + 46 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 47 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 48 => 'Reliese\\Coders\\CodersServiceProvider', ), 'eager' => array ( @@ -62,24 +63,25 @@ 7 => 'Illuminate\\Pagination\\PaginationServiceProvider', 8 => 'Illuminate\\Session\\SessionServiceProvider', 9 => 'Illuminate\\View\\ViewServiceProvider', - 10 => 'Cviebrock\\EloquentSluggable\\ServiceProvider', - 11 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 12 => 'Intervention\\Image\\ImageServiceProvider', - 13 => 'Jenssegers\\Date\\DateServiceProvider', - 14 => 'Laracasts\\Flash\\FlashServiceProvider', - 15 => 'Laravel\\Passport\\PassportServiceProvider', - 16 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 17 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 10 => 'Barryvdh\\DomPDF\\ServiceProvider', + 11 => 'Cviebrock\\EloquentSluggable\\ServiceProvider', + 12 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', + 13 => 'Intervention\\Image\\ImageServiceProvider', + 14 => 'Jenssegers\\Date\\DateServiceProvider', + 15 => 'Laracasts\\Flash\\FlashServiceProvider', + 16 => 'Laravel\\Passport\\PassportServiceProvider', + 17 => 'Maatwebsite\\Excel\\ExcelServiceProvider', 18 => 'Yajra\\DataTables\\DataTablesServiceProvider', - 19 => 'Laravel\\Passport\\PassportServiceProvider', - 20 => 'App\\Providers\\AppServiceProvider', - 21 => 'App\\Providers\\AuthServiceProvider', - 22 => 'App\\Providers\\EventServiceProvider', - 23 => 'App\\Providers\\RouteServiceProvider', - 24 => 'Jenssegers\\Date\\DateServiceProvider', - 25 => 'Intervention\\Image\\ImageServiceProvider', - 26 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 27 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 19 => 'Yajra\\DataTables\\DataTablesServiceProvider', + 20 => 'Laravel\\Passport\\PassportServiceProvider', + 21 => 'App\\Providers\\AppServiceProvider', + 22 => 'App\\Providers\\AuthServiceProvider', + 23 => 'App\\Providers\\EventServiceProvider', + 24 => 'App\\Providers\\RouteServiceProvider', + 25 => 'Jenssegers\\Date\\DateServiceProvider', + 26 => 'Intervention\\Image\\ImageServiceProvider', + 27 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 28 => 'Yajra\\DataTables\\DataTablesServiceProvider', ), 'deferred' => array ( diff --git a/composer.json b/composer.json index 92852fd..dd555d3 100755 --- a/composer.json +++ b/composer.json @@ -6,6 +6,7 @@ "type": "project", "require": { "php": "^7.1.3", + "barryvdh/laravel-dompdf": "^0.8.4", "cviebrock/eloquent-sluggable": "4.5", "doctrine/dbal": "^2.8", "fideloper/proxy": "^4.0", diff --git a/composer.lock b/composer.lock index 1ebf068..63a7004 100755 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,64 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b9e4fff8c2dc7abd8c210834757a7f46", + "content-hash": "82aac33610f326c035aa3e4c79f9ade4", "packages": [ + { + "name": "barryvdh/laravel-dompdf", + "version": "v0.8.4", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-dompdf.git", + "reference": "3fd817065e1c820b1ddace8b2bf65ca45088df4f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/3fd817065e1c820b1ddace8b2bf65ca45088df4f", + "reference": "3fd817065e1c820b1ddace8b2bf65ca45088df4f", + "shasum": "" + }, + "require": { + "dompdf/dompdf": "^0.8", + "illuminate/support": "5.5.x|5.6.x|5.7.x|5.8.x", + "php": ">=7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.8-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\DomPDF\\ServiceProvider" + ], + "aliases": { + "PDF": "Barryvdh\\DomPDF\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\DomPDF\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "A DOMPDF Wrapper for Laravel", + "keywords": [ + "dompdf", + "laravel", + "pdf" + ], + "time": "2019-02-26T18:07:43+00:00" + }, { "name": "cocur/slugify", "version": "v3.2", @@ -579,6 +635,72 @@ ], "time": "2014-09-09T13:34:57+00:00" }, + { + "name": "dompdf/dompdf", + "version": "v0.8.3", + "source": { + "type": "git", + "url": "https://github.com/dompdf/dompdf.git", + "reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/75f13c700009be21a1965dc2c5b68a8708c22ba2", + "reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "phenx/php-font-lib": "0.5.*", + "phenx/php-svg-lib": "0.3.*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.5|^6.5", + "squizlabs/php_codesniffer": "2.*" + }, + "suggest": { + "ext-gd": "Needed to process images", + "ext-gmagick": "Improves image processing performance", + "ext-imagick": "Improves image processing performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.7-dev" + } + }, + "autoload": { + "psr-4": { + "Dompdf\\": "src/" + }, + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + }, + { + "name": "Brian Sweeney", + "email": "eclecticgeek@gmail.com" + }, + { + "name": "Gabriel Bull", + "email": "me@gabrielbull.com" + } + ], + "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", + "homepage": "https://github.com/dompdf/dompdf", + "time": "2018-12-14T02:40:31+00:00" + }, { "name": "dragonmantank/cron-expression", "version": "v2.2.0", @@ -2251,6 +2373,83 @@ ], "time": "2018-07-02T15:55:56+00:00" }, + { + "name": "phenx/php-font-lib", + "version": "0.5.1", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-font-lib.git", + "reference": "760148820110a1ae0936e5cc35851e25a938bc97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/760148820110a1ae0936e5cc35851e25a938bc97", + "reference": "760148820110a1ae0936e5cc35851e25a938bc97", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "FontLib\\": "src/FontLib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/PhenX/php-font-lib", + "time": "2017-09-13T16:14:37+00:00" + }, + { + "name": "phenx/php-svg-lib", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-svg-lib.git", + "reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/ccc46ef6340d4b8a4a68047e68d8501ea961442c", + "reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c", + "shasum": "" + }, + "require": { + "sabberworm/php-css-parser": "8.1.*" + }, + "require-dev": { + "phpunit/phpunit": "~5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Svg\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/PhenX/php-svg-lib", + "time": "2018-06-03T10:10:03+00:00" + }, { "name": "phpoffice/phpexcel", "version": "1.8.1", @@ -2803,6 +3002,50 @@ ], "time": "2017-02-04T15:50:39+00:00" }, + { + "name": "sabberworm/php-css-parser", + "version": "8.1.0", + "source": { + "type": "git", + "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", + "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/850cbbcbe7fbb155387a151ea562897a67e242ef", + "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Sabberworm\\CSS": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Raphael Schweikert" + } + ], + "description": "Parser for CSS Files written in PHP", + "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", + "keywords": [ + "css", + "parser", + "stylesheet" + ], + "time": "2016-07-19T19:14:21+00:00" + }, { "name": "swiftmailer/swiftmailer", "version": "v6.1.3", diff --git a/config/dompdf.php b/config/dompdf.php new file mode 100644 index 0000000..fd74a89 --- /dev/null +++ b/config/dompdf.php @@ -0,0 +1,244 @@ + false, // Throw an Exception on warnings from dompdf + 'orientation' => 'portrait', + 'defines' => array( + /** + * The location of the DOMPDF font directory + * + * The location of the directory where DOMPDF will store fonts and font metrics + * Note: This directory must exist and be writable by the webserver process. + * *Please note the trailing slash.* + * + * Notes regarding fonts: + * Additional .afm font metrics can be added by executing load_font.php from command line. + * + * Only the original "Base 14 fonts" are present on all pdf viewers. Additional fonts must + * be embedded in the pdf file or the PDF may not display correctly. This can significantly + * increase file size unless font subsetting is enabled. Before embedding a font please + * review your rights under the font license. + * + * Any font specification in the source HTML is translated to the closest font available + * in the font directory. + * + * The pdf standard "Base 14 fonts" are: + * Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique, + * Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique, + * Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic, + * Symbol, ZapfDingbats. + */ + "font_dir" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782) + + /** + * The location of the DOMPDF font cache directory + * + * This directory contains the cached font metrics for the fonts used by DOMPDF. + * This directory can be the same as DOMPDF_FONT_DIR + * + * Note: This directory must exist and be writable by the webserver process. + */ + "font_cache" => storage_path('fonts/'), + + /** + * The location of a temporary directory. + * + * The directory specified must be writeable by the webserver process. + * The temporary directory is required to download remote images and when + * using the PFDLib back end. + */ + "temp_dir" => sys_get_temp_dir(), + + /** + * ==== IMPORTANT ==== + * + * dompdf's "chroot": Prevents dompdf from accessing system files or other + * files on the webserver. All local files opened by dompdf must be in a + * subdirectory of this directory. DO NOT set it to '/' since this could + * allow an attacker to use dompdf to read any files on the server. This + * should be an absolute path. + * This is only checked on command line call by dompdf.php, but not by + * direct class use like: + * $dompdf = new DOMPDF(); $dompdf->load_html($htmldata); $dompdf->render(); $pdfdata = $dompdf->output(); + */ + "chroot" => realpath(base_path()), + + /** + * Whether to enable font subsetting or not. + */ + "enable_font_subsetting" => false, + + /** + * The PDF rendering backend to use + * + * Valid settings are 'PDFLib', 'CPDF' (the bundled R&OS PDF class), 'GD' and + * 'auto'. 'auto' will look for PDFLib and use it if found, or if not it will + * fall back on CPDF. 'GD' renders PDFs to graphic files. {@link + * Canvas_Factory} ultimately determines which rendering class to instantiate + * based on this setting. + * + * Both PDFLib & CPDF rendering backends provide sufficient rendering + * capabilities for dompdf, however additional features (e.g. object, + * image and font support, etc.) differ between backends. Please see + * {@link PDFLib_Adapter} for more information on the PDFLib backend + * and {@link CPDF_Adapter} and lib/class.pdf.php for more information + * on CPDF. Also see the documentation for each backend at the links + * below. + * + * The GD rendering backend is a little different than PDFLib and + * CPDF. Several features of CPDF and PDFLib are not supported or do + * not make any sense when creating image files. For example, + * multiple pages are not supported, nor are PDF 'objects'. Have a + * look at {@link GD_Adapter} for more information. GD support is + * experimental, so use it at your own risk. + * + * @link http://www.pdflib.com + * @link http://www.ros.co.nz/pdf + * @link http://www.php.net/image + */ + "pdf_backend" => "CPDF", + + /** + * PDFlib license key + * + * If you are using a licensed, commercial version of PDFlib, specify + * your license key here. If you are using PDFlib-Lite or are evaluating + * the commercial version of PDFlib, comment out this setting. + * + * @link http://www.pdflib.com + * + * If pdflib present in web server and auto or selected explicitely above, + * a real license code must exist! + */ + //"DOMPDF_PDFLIB_LICENSE" => "your license key here", + + /** + * html target media view which should be rendered into pdf. + * List of types and parsing rules for future extensions: + * http://www.w3.org/TR/REC-html40/types.html + * screen, tty, tv, projection, handheld, print, braille, aural, all + * Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3. + * Note, even though the generated pdf file is intended for print output, + * the desired content might be different (e.g. screen or projection view of html file). + * Therefore allow specification of content here. + */ + "default_media_type" => "print", + + /** + * The default paper size. + * + * North America standard is "letter"; other countries generally "a4" + * + * @see CPDF_Adapter::PAPER_SIZES for valid sizes ('letter', 'legal', 'A4', etc.) + */ + "default_paper_size" => "a4", + + /** + * The default font family + * + * Used if no suitable fonts can be found. This must exist in the font folder. + * @var string + */ + "default_font" => "sans-serif", + + /** + * Image DPI setting + * + * This setting determines the default DPI setting for images and fonts. The + * DPI may be overridden for inline images by explictly setting the + * image's width & height style attributes (i.e. if the image's native + * width is 600 pixels and you specify the image's width as 72 points, + * the image will have a DPI of 600 in the rendered PDF. The DPI of + * background images can not be overridden and is controlled entirely + * via this parameter. + * + * For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI). + * If a size in html is given as px (or without unit as image size), + * this tells the corresponding size in pt. + * This adjusts the relative sizes to be similar to the rendering of the + * html page in a reference browser. + * + * In pdf, always 1 pt = 1/72 inch + * + * Rendering resolution of various browsers in px per inch: + * Windows Firefox and Internet Explorer: + * SystemControl->Display properties->FontResolution: Default:96, largefonts:120, custom:? + * Linux Firefox: + * about:config *resolution: Default:96 + * (xorg screen dimension in mm and Desktop font dpi settings are ignored) + * + * Take care about extra font/image zoom factor of browser. + * + * In images, size in pixel attribute, img css style, are overriding + * the real image dimension in px for rendering. + * + * @var int + */ + "dpi" => 300, + + /** + * Enable inline PHP + * + * If this setting is set to true then DOMPDF will automatically evaluate + * inline PHP contained within tags. + * + * Enabling this for documents you do not trust (e.g. arbitrary remote html + * pages) is a security risk. Set this option to false if you wish to process + * untrusted documents. + * + * @var bool + */ + "enable_php" => false, + + /** + * Enable inline Javascript + * + * If this setting is set to true then DOMPDF will automatically insert + * JavaScript code contained within tags. + * + * @var bool + */ + "enable_javascript" => true, + + /** + * Enable remote file access + * + * If this setting is set to true, DOMPDF will access remote sites for + * images and CSS files as required. + * This is required for part of test case www/test/image_variants.html through www/examples.php + * + * Attention! + * This can be a security risk, in particular in combination with DOMPDF_ENABLE_PHP and + * allowing remote access to dompdf.php or on allowing remote html code to be passed to + * $dompdf = new DOMPDF(, $dompdf->load_html(..., + * This allows anonymous users to download legally doubtful internet content which on + * tracing back appears to being downloaded by your server, or allows malicious php code + * in remote html pages to be executed by your server with your account privileges. + * + * @var bool + */ + "enable_remote" => true, + + /** + * A ratio applied to the fonts height to be more like browsers' line height + */ + "font_height_ratio" => 1.1, + + /** + * Use the more-than-experimental HTML5 Lib parser + */ + "enable_html5_parser" => false, + ), + + +); diff --git a/config/filesystems.php b/config/filesystems.php index 77fa5de..dfb2b14 100755 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -54,7 +54,12 @@ return [ 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], - + 'invoices_fewo' => [ + 'driver' => 'local', + 'root' => storage_path('app/invoices/fewo'), + 'url' => env('APP_URL').'/storage/invoices/fewo', + 'visibility' => 'public', + ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), diff --git a/public/css/incoice_fewo_pdf.css b/public/css/incoice_fewo_pdf.css new file mode 100644 index 0000000..40b3dc7 --- /dev/null +++ b/public/css/incoice_fewo_pdf.css @@ -0,0 +1,32 @@ + +html { + width: 100%; + height: 100%; +} +body { + position: relative; + width: 100%; + height: 100%; + margin: 0 auto; + padding: 0; + color: #000; + background: #fff; + font-family: 'DejaVu Sans', sans-serif; + font-size: 9pt; + line-height: 1.3em; + font-weight: 400 ; +} +table { + border: none; +} + +strong { + font-weight: 600; +} + +@page { + margin: 0px; +} +@page { + margin-top: 0px; +} diff --git a/resources/lang/de.json b/resources/lang/de.json index 57c34a4..eb94843 100755 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -1 +1,166 @@ -{"MR":"Herr","MS":"Frau","please select":"Bitte w\u00e4hlen","further countries":"weitere L\u00e4nder","no":"Keine","Company data":"Firmendaten","Company name":"Firmenname","Street":"Stra\u00dfe","House number":"Hausnummer","City":"Ort","Postcode":"PLZ","Country":"Land","Phone":"Telefon","Homepage":"Homepage","Industry":"Branche","Industries":"Branchen","Main Industry":"Hauptbranche","Personal Data":"Ihre Daten","Function":"Funktion","Salutation":"Anrede","Title":"Titel","First name":"Vorname","Last Name":"Nachname","Mobile Phone":"Mobiltelefon","Your interests":"Ihre Interessen","Your contact person":"Ihr Ansprechpartner","Name":"Name","Consent & Privacy":"Einwilligung & Datenschutz","New Password":"Neues Passwort","Old Password":"Altes Passwort","Change Password":"Passwort \u00e4ndern","Confirm new Password":"Neues Passwort wiederholen","Confirm Password":"Passwort best\u00e4tigen","Confirm E-Mail":"E-Mail wiederholen","E-Mail Address":"E-Mail Adresse","Forgot your Password?":"Passwort vergessen?","Login":"Einloggen","Logout":"Ausloggen","Password":" Passwort ","Register":"Registrieren","Remember Me":"Angemeldet bleiben","Reset Password":"Passwort zur\u00fccksetzen","Send Password Reset Link":"Link zum Zur\u00fccksetzen des Passworts senden","save":"speichern","save changes":"\u00c4nderungen speichern","abort":"abbrechen","This field is required.":"Dieses Feld ist ein Pflichtfeld.","Please enter a valid email address.":"Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein.","This E-mail is already in use.":"Diese E-Mail wird bereits verwendet.","Please enter the same value again.":"Die E-Mail Adressen sind nicht gleich.","a valid e-mail address":"Geben Sie bitte eine g\u00fcltige E-Mail-Adresse ein.","Already have an account?":"Sie haben schon einen Account?","Login to your account":"Melden Sie sich in Ihrem Account an","Dont have an account yet?":"Sie haben noch keinen Account?","We keep you up to date on product news":"Gerne informieren wir Sie \u00fcber Produktneuheiten, Relevantes aus der Branche und Beispiele zu unseren Anwendungen:","Registration":"Registrierung","that\u2019s how it\u2019s done":"so geht\u2019s","Just register":"Einfach registrieren","Just fill out the fields":"F\u00fcllen Sie einfach die Felder in der Eingabemaske aus. Danach erhalten Sie von uns per E-Mail einen Link. Mit einen Klick auf den Link best\u00e4tigen Sie die Registrierung.","Changeable at any time":"Jederzeit \u00e4nderbar","With your e-mail address and password":"Mit Ihrer E-Mailadresse und Ihrem Passwort k\u00f6nnen Sie jederzeit Ihre Daten einsehen oder \u00e4ndern.","Absolutely safe":"Absolut sicher","Your data will be stored on":"Ihre Daten werden auf deutschen Servern unter Ber\u00fccksichtigung aktueller Sicherheitsstandards gespeichert.","now register data":"jetzt Daten registieren","Required fields":"Pflichtfelder","You will receive an e-mail for confirmation":"Sie erhalten eine E-Mail zur Best\u00e4tigung, \u00fcber den Link in der E-Mail schalten Sie Ihren Daten frei.","Industry sectors":"Branchen","Interests":"Interessen","Leads":"Kontakte","Your Data":"Ihre Daten","Change password":"Passwort \u00e4ndern","Edit your data":"Ihre Daten bearbeiten","I have read the :link and accept it.*":"Ich habe die :link gelesen und akzeptiere diese.*","data protection":"Datenschutzerkl\u00e4rung","Yes, I agree that will send me more information.":"Ja, ich bin damit einverstanden, dass mir weitere Informationen zusendet werden. Die Einwilligung ist jederzeit \u00fcber diese Webseite widerrufbar.","saved":"Gespeichert","The changes have been saved.":"Die \u00c4nderungen wurden gespeichert.","error":"Fehler","Delete Account":"Account l\u00f6schen","account deleted":"Account gel\u00f6schen","Here you can adjust your data.":"Hier k\u00f6nnen Sie Ihre Daten anpassen.","Overview":"\u00dcbersicht","Adjust data":"Daten anpassen","Login & Security":"Anmeldung & Sicherheit","Sign in with your e-mail:":"Anmeldung mit Ihrer E-Mail:","Change your password here to access your account.":"\u00c4ndern Sie hier Ihr Passwort f\u00fcr den Zugriff auf Ihren Account.","Activities":"Aktivit\u00e4ten","Delete":"l\u00f6schen","If you no longer want to use our offer, you can delete your account here.":"Wenn Sie unser Angebot nicht mehr nutzen m\u00f6chten, k\u00f6nnen Sie hier Ihren Account l\u00f6schen.","Confirm your identity with your password before proceeding.":"Best\u00e4tigen Sie mit Ihrem Passwort Ihre Identit\u00e4t, bevor Sie fortfahren.","Dear Mrs":"Sehr geehrte Frau","Dear Sir":"Sehr geehrter Herr","Dear customer":"Sehr geehrter Kunde","Dear Customer you will receive this e-mail because we have received a request to reset the password for your account.":"Sie erhalten diese E-Mail, weil wir eine Anfrage zum Zur\u00fccksetzen des Passworts f\u00fcr Ihren Account erhalten haben.","Or copy this link into the address bar of your browser.":"Oder kopieren Sie diesen Link in die Adressleiste Ihres Browsers.","Best regards":"Mit freundlichen Gr\u00fc\u00dfen","imprint":"Impressum","data protections":"Datenschutz","E-Mail address can not be changed!":"E-Mail Adresse ist nicht \u00e4nderbar!","E-Mail address can not be changed here!":"E-Mail Adresse kann hier nicht ge\u00e4ndert werden!","Thank you for your registration!":"Vielen Dank f\u00fcr Ihre Registrierung!","We have sent you an e-mail with a link to activate your data.":"Wir haben Ihnen eine E-Mail mit einem Link zur Freischaltung Ihrer Daten geschickt.","back to the homepage":"zur\u00fcck zur Startseite","Verify Your Email Address":"Best\u00e4tigen Sie Ihre E-Mail-Adresse","Thank you for creating an account. Please follow the link below to confirm your email address.":"Vielen Dank f\u00fcr die Erstellung eines Accounts. Bitte folgen Sie dem unten stehenden Link, um Ihre E-Mail-Adresse zu best\u00e4tigen.","You have successfully verified your account!":"Sie haben Ihr Konto erfolgreich verifiziert!","Now check your data and release the data.":"\u00dcberpr\u00fcfen Sie jetzt Ihre Daten und geben Sie die Daten frei.","Check and release data":"Daten \u00fcberpr\u00fcfen und freigeben","Check data":"Daten \u00fcberpr\u00fcfen","Page not available":"Seite nicht verf\u00fcgbar","Data released":"Daten freigeben","Data released now":"Daten jetzt freigeben","E-Mail verified":"E-Mail verifiziert","Privacy policy approved":"Datenschutzerkl\u00e4rung zugestimmt","Consent for further information":"Einwilligung f\u00fcr weitere Informationen","at":"am","Assign a password for your account.":"Vergeben Sie ein Passwort f\u00fcr Ihren Account.","Create Password":"Passwort erstellen","back":"zur\u00fcck","If you have checked your data, share your data here!":"Wenn Sie Ihre Daten \u00fcberpr\u00fcft haben, geben Sie Ihre Daten hier frei!","Contacts all":"gesamte Kontakte","Contacts verify":"Kontakte verifiziert","Contacts active":"Kontakte freigeschaltet","We have data about you stored in our System. Please follow the link below to verify your email address.You can also change or delete your data.":"Wir haben Daten \u00fcber Sie in unserem System gespeichert. Bitte folgen Sie dem unten stehenden Link um Ihre E-Mail-Adresse zu best\u00e4tigen. Weitherhin k\u00f6nnen Sie Ihre Daten \u00e4ndern oder auch l\u00f6schen.","Verify your Data and E-Mail Address":"Best\u00e4tigen Sie Ihre Daten und E-Mail-Adresse","This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.":"Diese Webseite verwendet Cookies, um Ihnen den bestm\u00f6glichen Service zu gew\u00e4hrleisten. Mit Ihrem Besuch auf dieser Seite stimmen Sie der Verwendung von Cookies zu.","OK":"OK","Contacts":"Kontake","active":"aktiviert","verified":"verifiziert","'E-Mail":"'E-Mail","create new Contact":"Neuen Kontakt erstellen","Create\/Edit Contact":"Kontakt bearbeiten\/erstellen","Pos":"Pos","Description":"Bezeichnung","Translate":"\u00dcbersetzung","Status":"Status","create\/edit":"erstellen\/bearbeiten","when active, the interest in the selection is displayed":"wenn aktiv, wird das Interesse in der Aushwahl angezeigt","close":"schlie\u00dfen","Number to move the position if necessary":"Zahl um ggf. die Postion zu verschieben","Create new interest":"Neues Interesse erstellen","Really delete entry?":"Eintrag wirklich l\u00f6schen?","Create a new industry":"Neue Branche erstellen","Your e-mail has been changed.":"Ihre E-Mail wurde ge\u00e4ndert.","We sent you an activation code. Check your email!":"Wir haben Ihnen einen Aktivierungscode gesendet. \u00dcberpr\u00fcfen Sie Ihre E-Mails!","An activation code was sent to the account by e-mail!":"An den Kontkat wurde per E-Mail ein Aktivierungscode gesendet!","New E-Mail Address":"Neue E-Mail Adresse","Confirm new E-Mail":"Neue E-Mail Adresse wiederholen","Change E-Mail":"E-Mail Adresse \u00e4ndern","Change your e-mail address here. We will send you a new activation link to your new e-mail address to verify it.":"\u00c4ndern Sie hier Ihre E-Mail-Adresse. Wir senden Ihnen einen neuen Aktivierungslink an Ihre neue E-Mail-Adresse, um diese zu verifizieren.","Change the e-mail address of the contact here. We will send the contact a new activation link to the new e-mail address to verify it.":"\u00c4ndern Sie hier die E-Mail-Adresse des Kontakts. Wir senden dem Kontakt einen neuen Aktivierungslink an die neue E-Mail-Adresse, um diese zu verifizieren.","Dear Customer you will receive this e-mail because we have received a request to change your E-Mail Address for your account.":"Sie erhalten diese E-Mail, weil wir eine Anfrage zur \u00c4nderung Ihrer E-Mail-Adresse f\u00fcr Ihr Konto erhalten haben.","business":"gesch\u00e4ftlich","private":"privat","business or private":"gesch\u00e4ftlich oder privat","use":"Nutzung","Country code":"L\u00e4ndervorwahl","Contact":"Kontakt","waiting for activation since":"wartet auf Aktivierung seit","edit":"bearbeiten","delete":"l\u00f6schen"} \ No newline at end of file +{ + "MR": "Herr", + "MS": "Frau", + "please select": "Bitte w\u00e4hlen", + "further countries": "weitere L\u00e4nder", + "no": "Keine", + "Company data": "Firmendaten", + "Company name": "Firmenname", + "Street": "Stra\u00dfe", + "House number": "Hausnummer", + "City": "Ort", + "Postcode": "PLZ", + "Country": "Land", + "Phone": "Telefon", + "Homepage": "Homepage", + "Industry": "Branche", + "Industries": "Branchen", + "Main Industry": "Hauptbranche", + "Personal Data": "Ihre Daten", + "Function": "Funktion", + "Salutation": "Anrede", + "Title": "Titel", + "First name": "Vorname", + "Last Name": "Nachname", + "Mobile Phone": "Mobiltelefon", + "Your interests": "Ihre Interessen", + "Your contact person": "Ihr Ansprechpartner", + "Name": "Name", + "Consent & Privacy": "Einwilligung & Datenschutz", + "New Password": "Neues Passwort", + "Old Password": "Altes Passwort", + "Change Password": "Passwort \u00e4ndern", + "Confirm new Password": "Neues Passwort wiederholen", + "Confirm Password": "Passwort best\u00e4tigen", + "Confirm E-Mail": "E-Mail wiederholen", + "E-Mail Address": "E-Mail Adresse", + "Forgot your Password?": "Passwort vergessen?", + "Login": "Einloggen", + "Logout": "Ausloggen", + "Password": " Passwort ", + "Register": "Registrieren", + "Remember Me": "Angemeldet bleiben", + "Reset Password": "Passwort zur\u00fccksetzen", + "Send Password Reset Link": "Link zum Zur\u00fccksetzen des Passworts senden", + "save": "speichern", + "save changes": "\u00c4nderungen speichern", + "abort": "abbrechen", + "This field is required.": "Dieses Feld ist ein Pflichtfeld.", + "Please enter a valid email address.": "Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein.", + "This E-mail is already in use.": "Diese E-Mail wird bereits verwendet.", + "Please enter the same value again.": "Die E-Mail Adressen sind nicht gleich.", + "a valid e-mail address": "Geben Sie bitte eine g\u00fcltige E-Mail-Adresse ein.", + "Already have an account?": "Sie haben schon einen Account?", + "Login to your account": "Melden Sie sich in Ihrem Account an", + "Dont have an account yet?": "Sie haben noch keinen Account?", + "We keep you up to date on product news": "Gerne informieren wir Sie \u00fcber Produktneuheiten, Relevantes aus der Branche und Beispiele zu unseren Anwendungen:", + "Registration": "Registrierung", + "that\u2019s how it\u2019s done": "so geht\u2019s", + "Just register": "Einfach registrieren", + "Just fill out the fields": "F\u00fcllen Sie einfach die Felder in der Eingabemaske aus. Danach erhalten Sie von uns per E-Mail einen Link. Mit einen Klick auf den Link best\u00e4tigen Sie die Registrierung.", + "Changeable at any time": "Jederzeit \u00e4nderbar", + "With your e-mail address and password": "Mit Ihrer E-Mailadresse und Ihrem Passwort k\u00f6nnen Sie jederzeit Ihre Daten einsehen oder \u00e4ndern.", + "Absolutely safe": "Absolut sicher", + "Your data will be stored on": "Ihre Daten werden auf deutschen Servern unter Ber\u00fccksichtigung aktueller Sicherheitsstandards gespeichert.", + "now register data": "jetzt Daten registieren", + "Required fields": "Pflichtfelder", + "You will receive an e-mail for confirmation": "Sie erhalten eine E-Mail zur Best\u00e4tigung, \u00fcber den Link in der E-Mail schalten Sie Ihren Daten frei.", + "Industry sectors": "Branchen", + "Interests": "Interessen", + "Leads": "Kontakte", + "Your Data": "Ihre Daten", + "Change password": "Passwort \u00e4ndern", + "Edit your data": "Ihre Daten bearbeiten", + "I have read the :link and accept it.*": "Ich habe die :link gelesen und akzeptiere diese.*", + "data protection": "Datenschutzerkl\u00e4rung", + "Yes, I agree that will send me more information.": "Ja, ich bin damit einverstanden, dass mir weitere Informationen zusendet werden. Die Einwilligung ist jederzeit \u00fcber diese Webseite widerrufbar.", + "saved": "Gespeichert", + "The changes have been saved.": "Die \u00c4nderungen wurden gespeichert.", + "error": "Fehler", + "Delete Account": "Account l\u00f6schen", + "account deleted": "Account gel\u00f6schen", + "Here you can adjust your data.": "Hier k\u00f6nnen Sie Ihre Daten anpassen.", + "Overview": "\u00dcbersicht", + "Adjust data": "Daten anpassen", + "Login & Security": "Anmeldung & Sicherheit", + "Sign in with your e-mail:": "Anmeldung mit Ihrer E-Mail:", + "Change your password here to access your account.": "\u00c4ndern Sie hier Ihr Passwort f\u00fcr den Zugriff auf Ihren Account.", + "Activities": "Aktivit\u00e4ten", + "Delete": "l\u00f6schen", + "If you no longer want to use our offer, you can delete your account here.": "Wenn Sie unser Angebot nicht mehr nutzen m\u00f6chten, k\u00f6nnen Sie hier Ihren Account l\u00f6schen.", + "Confirm your identity with your password before proceeding.": "Best\u00e4tigen Sie mit Ihrem Passwort Ihre Identit\u00e4t, bevor Sie fortfahren.", + "Dear Mrs": "Sehr geehrte Frau", + "Dear Sir": "Sehr geehrter Herr", + "Dear customer": "Sehr geehrter Kunde", + "Dear Customer you will receive this e-mail because we have received a request to reset the password for your account.": "Sie erhalten diese E-Mail, weil wir eine Anfrage zum Zur\u00fccksetzen des Passworts f\u00fcr Ihren Account erhalten haben.", + "Or copy this link into the address bar of your browser.": "Oder kopieren Sie diesen Link in die Adressleiste Ihres Browsers.", + "Best regards": "Mit freundlichen Gr\u00fc\u00dfen", + "imprint": "Impressum", + "data protections": "Datenschutz", + "E-Mail address can not be changed!": "E-Mail Adresse ist nicht \u00e4nderbar!", + "E-Mail address can not be changed here!": "E-Mail Adresse kann hier nicht ge\u00e4ndert werden!", + "Thank you for your registration!": "Vielen Dank f\u00fcr Ihre Registrierung!", + "Your registration has already been completed.":"Ihre Registrierung wurde bereits abgeschlossen.", + "We have sent you an e-mail with a link to activate your data.": "Wir haben Ihnen eine E-Mail mit einem Link zur Freischaltung Ihrer Daten geschickt.", + "back to the homepage": "zur\u00fcck zur Startseite", + "Verify Your Email Address": "Best\u00e4tigen Sie Ihre E-Mail-Adresse", + "Thank you for creating an account. Please follow the link below to confirm your email address.": "Vielen Dank f\u00fcr die Erstellung eines Accounts. Bitte folgen Sie dem unten stehenden Link, um Ihre E-Mail-Adresse zu best\u00e4tigen.", + "You have successfully verified your account!": "Sie haben Ihr Konto erfolgreich verifiziert!", + "Now check your data and release the data.": "\u00dcberpr\u00fcfen Sie jetzt Ihre Daten und geben Sie die Daten frei.", + "Check and release data": "Daten \u00fcberpr\u00fcfen und freigeben", + "Check data": "Daten \u00fcberpr\u00fcfen", + "Page not available": "Seite nicht verf\u00fcgbar", + "Data released": "Daten freigeben", + "Data released now": "Daten jetzt freigeben", + "E-Mail verified": "E-Mail verifiziert", + "Privacy policy approved": "Datenschutzerkl\u00e4rung zugestimmt", + "Consent for further information": "Einwilligung f\u00fcr weitere Informationen", + "at": "am", + "Assign a password for your account.": "Vergeben Sie ein Passwort f\u00fcr Ihren Account.", + "Create Password": "Passwort erstellen", + "back": "zur\u00fcck", + "If you have checked your data, share your data here!": "Wenn Sie Ihre Daten \u00fcberpr\u00fcft haben, geben Sie Ihre Daten hier frei!", + "Contacts all": "gesamte Kontakte", + "Contacts verify": "Kontakte verifiziert", + "Contacts active": "Kontakte freigeschaltet", + "We have data about you stored in our System. Please follow the link below to verify your email address.You can also change or delete your data.": "Wir haben Daten \u00fcber Sie in unserem System gespeichert. Bitte folgen Sie dem unten stehenden Link um Ihre E-Mail-Adresse zu best\u00e4tigen. Weitherhin k\u00f6nnen Sie Ihre Daten \u00e4ndern oder auch l\u00f6schen.", + "Please follow the link below to verify your email address.": "Bitte folgen Sie dem unten stehenden Link um Ihre E-Mail-Adresse zu best\u00e4tigen.", + "Verify your Data and E-Mail Address": "Best\u00e4tigen Sie Ihre Daten und E-Mail-Adresse", + "This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.": "Diese Webseite verwendet Cookies, um Ihnen den bestm\u00f6glichen Service zu gew\u00e4hrleisten. Mit Ihrem Besuch auf dieser Seite stimmen Sie der Verwendung von Cookies zu.", + "OK": "OK", + "Contacts": "Kontake", + "active": "aktiviert", + "verified": "verifiziert", + "'E-Mail": "'E-Mail", + "create new Contact": "Neuen Kontakt erstellen", + "Create\/Edit Contact": "Kontakt bearbeiten\/erstellen", + "Pos": "Pos", + "Description": "Bezeichnung", + "Translate": "\u00dcbersetzung", + "Status": "Status", + "create\/edit": "erstellen\/bearbeiten", + "when active, the interest in the selection is displayed": "wenn aktiv, wird das Interesse in der Aushwahl angezeigt", + "close": "schlie\u00dfen", + "Number to move the position if necessary": "Zahl um ggf. die Postion zu verschieben", + "Create new interest": "Neues Interesse erstellen", + "Really delete entry?": "Eintrag wirklich l\u00f6schen?", + "Create a new industry": "Neue Branche erstellen", + "Your e-mail has been changed.": "Ihre E-Mail wurde ge\u00e4ndert.", + "We sent you an activation code. Check your email!": "Wir haben Ihnen einen Aktivierungscode gesendet. \u00dcberpr\u00fcfen Sie Ihre E-Mails!", + "An activation code was sent to the account by e-mail!": "An den Kontkat wurde per E-Mail ein Aktivierungscode gesendet!", + "New E-Mail Address": "Neue E-Mail Adresse", + "Confirm new E-Mail": "Neue E-Mail Adresse wiederholen", + "Change E-Mail": "E-Mail Adresse \u00e4ndern", + "Change your e-mail address here. We will send you a new activation link to your new e-mail address to verify it.": "\u00c4ndern Sie hier Ihre E-Mail-Adresse. Wir senden Ihnen einen neuen Aktivierungslink an Ihre neue E-Mail-Adresse, um diese zu verifizieren.", + "Change the e-mail address of the contact here. We will send the contact a new activation link to the new e-mail address to verify it.": "\u00c4ndern Sie hier die E-Mail-Adresse des Kontakts. Wir senden dem Kontakt einen neuen Aktivierungslink an die neue E-Mail-Adresse, um diese zu verifizieren.", + "Dear Customer you will receive this e-mail because we have received a request to change your E-Mail Address for your account.": "Sie erhalten diese E-Mail, weil wir eine Anfrage zur \u00c4nderung Ihrer E-Mail-Adresse f\u00fcr Ihr Konto erhalten haben.", + "business": "gesch\u00e4ftlich", + "private": "privat", + "business or private": "gesch\u00e4ftlich oder privat", + "use": "Nutzung", + "Country code": "L\u00e4ndervorwahl", + "Contact": "Kontakt", + "waiting for activation since": "wartet auf Aktivierung seit", + "edit": "bearbeiten", + "delete": "l\u00f6schen" +} \ No newline at end of file diff --git a/resources/views/admin/changeemail.blade.php b/resources/views/admin/change_email.blade.php similarity index 93% rename from resources/views/admin/changeemail.blade.php rename to resources/views/admin/change_email.blade.php index 8dc0b29..247fa14 100755 --- a/resources/views/admin/changeemail.blade.php +++ b/resources/views/admin/change_email.blade.php @@ -1,4 +1,4 @@ -@extends('layouts.layout-2-2') +@extends('layouts.layout-2') @section('content')
@@ -13,7 +13,7 @@
- {!! Form::open(['url' => route('admin_lead_change_mail', [$user->id]) ]) !!} + {!! Form::open(['url' => route('admin_user_change_mail', [$user->id]) ]) !!}
@@ -42,7 +42,7 @@
- {{ __('back') }} + {{ __('back') }}
diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php index de83102..a4d97d3 100644 --- a/resources/views/admin/index.blade.php +++ b/resources/views/admin/index.blade.php @@ -1,4 +1,4 @@ -@extends('layouts.layout-2-2') +@extends('layouts.layout-2') @section('content')
diff --git a/resources/views/admin/user_edit.blade.php b/resources/views/admin/user_edit.blade.php index 0b5d719..4b3ce6b 100644 --- a/resources/views/admin/user_edit.blade.php +++ b/resources/views/admin/user_edit.blade.php @@ -17,19 +17,15 @@ @endif

- {{ __('Create/Edit Contact') }} + User bearbeiten/anlegen

- {!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!} - - - {{-- @include('user.form') --}} - - + {!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal']) !!} + + @include('admin.user_form')
  - {{ __('abort') }}
diff --git a/resources/views/admin/user_form.blade.php b/resources/views/admin/user_form.blade.php new file mode 100644 index 0000000..1a0fa9b --- /dev/null +++ b/resources/views/admin/user_form.blade.php @@ -0,0 +1,47 @@ +
+
+ {{ __('Daten') }} +
+
+ +
+ + {{ Form::text('name', $user->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required')) }} +
+ + +
+ @if($user->email) +
+
+ + {{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'readonly'=>true)) }} +
+
+ + {{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'readonly'=>true)) }} +
+
+ @if(isset($isFromAdmin)) + @if(count($user->user_update_email) > 0) +

{{ $user->user_update_email->first()->email }} {{__('waiting for activation since')}} | {{ $user->user_update_email->first()->created_at->format('d.m.Y H:i') }}


+ @endif + {{ __('Contact') }} {{__('Change E-Mail')}} + @else + {{__('Change E-Mail')}} + @endif + @else +
+
+ + {{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email')) }} +
+
+ + {{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm')) }} +
+
+ + @endif +
+
\ No newline at end of file diff --git a/resources/views/admin/users.blade.php b/resources/views/admin/users.blade.php index f5de3b2..9e827d7 100644 --- a/resources/views/admin/users.blade.php +++ b/resources/views/admin/users.blade.php @@ -9,9 +9,11 @@
-
+
+ - @@ -21,10 +23,12 @@ -
{{__('edit')}}{{__('verified')}} {{__('active')}} {{__('delete')}}
+
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 613a112..ceee4df 100755 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -18,173 +18,173 @@ + {{-- +
+

{{ __('Your Data') }}

+

{{__('Here you can adjust your data.')}}

+
+
+ + + +
+
+ {{-- + @if($user->account->company == 1) +
{{ __('Company data') }}
+
-
-

{{ __('Your Data') }}

-

{{__('Here you can adjust your data.')}}

-
-
- - - -
-
- {{-- - @if($user->account->company == 1) -
{{ __('Company data') }}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{ __('Company name') }}:{{ $user->account->company_name }}
{{ __('Street') }} / {{ __('House number') }}:{{ $user->account->company_street }}
{{ __('Postcode') }}:{{ $user->account->company_postal_code }}
{{ __('City') }}:{{ $user->account->company_city }}
{{ __('Country') }}:@if($user->account->company_country_id) {{ $user->account->company_country->getLocated() }} @endif
{{ __('Phone') }}:@if($user->account->company_pre_phone_id) {{ $user->account->company_pre_phone->code }}@endif {{ $user->account->company_phone }}
{{ __('Homepage') }}:{{ $user->account->company_homepage }}
+
+ +
+
{{ __('Industry') }}
+
+ + + + @foreach($user->account->getUserIndustrySectorsParents() as $user_industry_sector_parents) + + + + + @endforeach + + +
{{ $user_industry_sector_parents->industry_sector->getLang('name') }}: + @foreach($user->account->getUserIndustrySectorsChilds($user_industry_sector_parents->industry_sector->id) as $user_industry_sector_childs) + {{ $user_industry_sector_childs->industry_sector->getLang('name') }}, + @endforeach +
+
+
+ + @endif + +
{{ __('Your Data') }}
- - + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - + + + + + +
{{ __('Company name') }}:{{ $user->account->company_name }}{{ __('Function') }}:{{ $user->account->position_text }}
{{ __('Salutation') }}:{!! HTMLHelper::getSalutationLang($user->account->salutation) !!}
{{ __('Title') }}:{{ $user->account->title }}
{{ __('First name') }}:{{ $user->account->first_name }}
{{ __('Last Name') }}:{{ $user->account->last_name }}
{{ __('Street') }} / {{ __('House number') }}:{{ $user->account->company_street }}{{ $user->account->street }}
{{ __('Postcode') }}:{{ $user->account->company_postal_code }}{{ $user->account->postal_code }}
{{ __('City') }}:{{ $user->account->company_city }}{{ $user->account->city }}
{{ __('Country') }}:@if($user->account->company_country_id) {{ $user->account->company_country->getLocated() }} @endif@if($user->account->country_id){{ $user->account->country->getLocated() }}@endif
{{ __('Phone') }}:@if($user->account->company_pre_phone_id) {{ $user->account->company_pre_phone->code }}@endif {{ $user->account->company_phone }}@if($user->account->pre_phone_id) {{ $user->account->pre_phone->code }}@endif {{ $user->account->phone }}
{{ __('Homepage') }}:{{ $user->account->company_homepage }}{{ __('Mobile Phone') }}:@if($user->account->pre_mobil_id) {{ $user->account->pre_mobil->code }}@endif {{ $user->account->mobil }}
{{ __('E-Mail Address') }}:{{ $user->email }}

-
{{ __('Industry') }}
+
{{ __('Your interests') }}
- @foreach($user->account->getUserIndustrySectorsParents() as $user_industry_sector_parents) + @foreach($user->account->user_interests as $user_interest) - + @endforeach + +
{{ $user_industry_sector_parents->industry_sector->getLang('name') }}:{{ $user_interest->interest->getLang('name') }}: - @foreach($user->account->getUserIndustrySectorsChilds($user_industry_sector_parents->industry_sector->id) as $user_industry_sector_childs) - {{ $user_industry_sector_childs->industry_sector->getLang('name') }}, - @endforeach + +
+
+ +
+
+ + + + + +
{{ $user->account->contactpartner }}
-
- @endif -
{{ __('Your Data') }}
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{ __('Function') }}:{{ $user->account->position_text }}
{{ __('Salutation') }}:{!! HTMLHelper::getSalutationLang($user->account->salutation) !!}
{{ __('Title') }}:{{ $user->account->title }}
{{ __('First name') }}:{{ $user->account->first_name }}
{{ __('Last Name') }}:{{ $user->account->last_name }}
{{ __('Street') }} / {{ __('House number') }}:{{ $user->account->street }}
{{ __('Postcode') }}:{{ $user->account->postal_code }}
{{ __('City') }}:{{ $user->account->city }}
{{ __('Country') }}:@if($user->account->country_id){{ $user->account->country->getLocated() }}@endif
{{ __('Phone') }}:@if($user->account->pre_phone_id) {{ $user->account->pre_phone->code }}@endif {{ $user->account->phone }}
{{ __('Mobile Phone') }}:@if($user->account->pre_mobil_id) {{ $user->account->pre_mobil->code }}@endif {{ $user->account->mobil }}
{{ __('E-Mail Address') }}:{{ $user->email }}
-
- -
-
{{ __('Your interests') }}
-
- - - - @foreach($user->account->user_interests as $user_interest) - - - - - @endforeach - -
{{ $user_interest->interest->getLang('name') }}: - - -
-
- -
-
- - - - - - - - -
{{ $user->account->contactpartner }}
-
- - --}}
@@ -201,6 +201,7 @@ onclick="$('#user-edit-info-btn').click();">{{ __('Adjust data') }} @endif
+ --}} @@ -266,7 +267,7 @@

{{__('Sign in with your e-mail:')}} {{ Auth::user()->email }}

@if(!$user->isPasswort())

{{__('Assign a password for your account.')}}

- {{__('Create Password')}} + {{__('Create Password')}} @else

{{__('Change your password here to access your account.')}}

{{__('Change password')}} @@ -280,11 +281,13 @@   {{ __('Logout') }}
-
+ {{-- +

{{__('Delete') }}

{{__('If you no longer want to use our offer, you can delete your account here.')}}

{{__('Delete Account')}}
+ --}} @endsection diff --git a/resources/views/pdf/invoice_fewo.blade.php b/resources/views/pdf/invoice_fewo.blade.php new file mode 100644 index 0000000..ec716d0 --- /dev/null +++ b/resources/views/pdf/invoice_fewo.blade.php @@ -0,0 +1,275 @@ + + + + + + + {!! Html::style('css/invoice_fewo_pdf.css') !!} + + + +{{-- +
+ +
+ --}} +
+ +
+ +
+
STERN TOURS GmbH • Emser Str. 3 • 10719 Berlin
+ {!! nl2br($model->getBookingUserAddress()) !!} +
+ +
+ Berlin, den {!! date("d.m.Y") !!} +
+ +
+ Mietbestätigung / Rechnung Nr. {{$model->invoice_number}} +
+ + +
+ +

Sehr geehrte Damen und Herren,
+
+ herzlichen Dank für Ihre Online-Buchung vom {{$model->booking_date}} :

+

Auf Grundlage der Beschreibung der gebuchten Unterkunft und unserer im Rahmen des Onlinebuchungsprozesses vertraglich einbezogenen Mietbedingungen + (die Sie auch nochmals beigefügt erhalten ) freuen wir uns, Ihre Anmietung wie folgt verbindlich bestätigen zu können:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{ __('Belegungszeitraum:') }} +
{{$model->from_date}} von {{$model->to_date}}
+
{{ __('Ferienwohnung:') }} +
{!! nl2br($model->getNameAddressLocation()) !!}
+
{{ __('Mietpreis:') }} +
{{ $model->price_travel }} €
+
{{ __('Service-Gebühr:') }}?? +
{{ $model->price_service }} €
+
{{ __('Kaution:') }} +
{{ $model->price_deposit }} €
+
{{ __('Gesamtpreis:') }} +
{{ $model->price_total }} €
+
+ +

Mit dieser Buchungsbestätigung ist der Mietvertrag für Sie und uns verbindlich.

+

Entsprechend der Regelungen unter Ziffer 3.1. und 3.2. unserer Mietbedingungen überweisen Sie uns bitte

+
    +
  • eine sofort zahlungsfällige Anzahlung von 50% Mietpreis = {{ $model->getPriceTravelFirstPay() }} €
  • +
  • sowie eine Restzahlung von {{ $model->getPriceTravelSecondPay() }} € bis spätestens 4 Wochen vor Belegungsbeginn inkl. der oben genannten Kaution.
  • +
+

auf folgendes Bankkonto:
+ STERN TOURS GmbH
+ IBAN: DE83100208900018857111
+ BIC: HYVEDEMM488
+

+ +

Beachten Sie bitte, dass eine Nichtzahlung des Unterkunftspreises zu den genannten Fälligkeitsdaten keine Aufhebung des + Mietvertrages bewirkt und dieser daher verbindlich bleibt, uns als Vermieter jedoch berechtigt, nach Mahnung mit Fristsetzung + vom Mietvertrag zurückzutreten.

+

Mit freundlichen Grüßen
+ Ihr Team von STERN TOURS

+
+ + + + + + + \ No newline at end of file diff --git a/resources/views/status/not_found.blade.php b/resources/views/status/not_found.blade.php new file mode 100755 index 0000000..bf6d112 --- /dev/null +++ b/resources/views/status/not_found.blade.php @@ -0,0 +1,43 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ + + +
+ +

{{ __('Your registration has already been completed.') }}

+ + @if(!Auth::check()) + {{ __('zum Login') }} + {{ __('neues Passwort erstellen') }} + @endif +
+
+ {{ __('Home') }} + +
+
+ + +
+
+ +@endsection + + diff --git a/resources/views/status/status_active.blade.php b/resources/views/status/status_active.blade.php new file mode 100755 index 0000000..2f0543c --- /dev/null +++ b/resources/views/status/status_active.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ + + +
+

{{ __('E-Mail bestätigt.') }}

{{ __('Home') }}

+
+
+
+ + +
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/status/status_error.blade.php b/resources/views/status/status_error.blade.php new file mode 100755 index 0000000..d6d7163 --- /dev/null +++ b/resources/views/status/status_error.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ + + +
+ +

{{ __('Page not available') }}

+ + {{ __('back to the homepage') }} + +
+
+ + +
+
+ +@endsection + diff --git a/resources/views/status/status_register.blade.php b/resources/views/status/status_register.blade.php new file mode 100755 index 0000000..f6d19b0 --- /dev/null +++ b/resources/views/status/status_register.blade.php @@ -0,0 +1,40 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ + + +
+ +

{{ __('Thank you for your registration!') }}

+

{{ __('We have sent you an e-mail with a link to activate your data.') }}

+ + {{ __('back to the homepage') }} + +
+
+ + +
+
+ +@endsection + + + + diff --git a/resources/views/status/status_verify.blade.php b/resources/views/status/status_verify.blade.php new file mode 100755 index 0000000..efd5a7a --- /dev/null +++ b/resources/views/status/status_verify.blade.php @@ -0,0 +1,34 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ + + +
+ +

{{ __('E-Mail bestätigt.') }}

+ +
+
+
+ + +
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/status/verify.blade.php b/resources/views/status/verify.blade.php new file mode 100755 index 0000000..39d790f --- /dev/null +++ b/resources/views/status/verify.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ + +
+
+ +
+ +

Your email address has been successfully confirmed.

+ + + +
+
+ + +
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/travel/user/booking/form.blade.php b/resources/views/travel/user/booking/form.blade.php index ad31b77..4713b94 100755 --- a/resources/views/travel/user/booking/form.blade.php +++ b/resources/views/travel/user/booking/form.blade.php @@ -4,10 +4,15 @@
- + + +
@@ -151,13 +156,23 @@
- + {{ Form::textarea('notice', $travel_user_booking_fewo->notice, ['class' => 'form-control', 'rows'=>4]) }}
+ +
+
+
+   +
+ +
+
+