add User, Mail verify, rights, Change Mail, fewo invoice PDF

This commit is contained in:
Kevin Adametz 2019-04-16 19:47:33 +02:00
parent 26ecb09cdc
commit 7abfe3f700
44 changed files with 3041 additions and 1125 deletions

View file

@ -4,19 +4,24 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-dompdf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/cocur/slugify" />
<excludeFolder url="file://$MODULE_DIR$/vendor/cviebrock/eloquent-sluggable" />
<excludeFolder url="file://$MODULE_DIR$/vendor/defuse/php-encryption" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dompdf/dompdf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/firebase/php-jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/passport" />
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/event" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/oauth2-server" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phenx/php-font-lib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phenx/php-svg-lib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpseclib/phpseclib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/reliese/laravel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sabberworm/php-css-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/psr-http-message-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/zendframework/zend-diactoros" />
</content>

5
.idea/php.xml generated
View file

@ -109,6 +109,11 @@
<path value="$PROJECT_DIR$/vendor/cviebrock/eloquent-sluggable" />
<path value="$PROJECT_DIR$/vendor/cocur/slugify" />
<path value="$PROJECT_DIR$/vendor/reliese/laravel" />
<path value="$PROJECT_DIR$/vendor/barryvdh/laravel-dompdf" />
<path value="$PROJECT_DIR$/vendor/phenx/php-font-lib" />
<path value="$PROJECT_DIR$/vendor/phenx/php-svg-lib" />
<path value="$PROJECT_DIR$/vendor/sabberworm/php-css-parser" />
<path value="$PROJECT_DIR$/vendor/dompdf/dompdf" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.1" />

950
.idea/workspace.xml generated

File diff suppressed because it is too large Load diff

View file

@ -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 <barryvdh@gmail.com>
* @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,

View file

@ -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 {}

View file

@ -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

View file

@ -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)

View file

@ -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');

View file

@ -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 "<br>";
$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);

View file

@ -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');
}

View file

@ -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]));
}
}
*/

View file

@ -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'),

View file

@ -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 "";
}
}

View file

@ -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',

View file

@ -0,0 +1,317 @@
<?php
namespace App\Repositories;
use App\Models\FewoPrice;
use App\Models\FewoReservation;
use App\Models\FewoSeason;
use App\Models\TravelClass;
use App\Models\TravelProgram;
use App\Models\TravelProgramDraft;
use App\Models\TravelUserBookingFewo;
use App\Services\Util;
use PDF;
use Carbon\Carbon;
use Input;
use Storage;
use Validator;
class TravelUserBookingFewoRepository extends BaseRepository {
public function __construct(TravelProgram $model)
{
$this->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;
}
}

View file

@ -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;
}

View file

@ -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("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]",
"}", "\\", "|", ";", ":", "\"", "'", "&#8216;", "&#8217;", "&#8220;", "&#8221;", "&#8211;", "&#8212;",
"—", "–", ",", "<", ".", ">", "/", "?");
$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;
}
}

View file

@ -1,4 +1,15 @@
<?php return array (
'barryvdh/laravel-dompdf' =>
array (
'providers' =>
array (
0 => 'Barryvdh\\DomPDF\\ServiceProvider',
),
'aliases' =>
array (
'PDF' => 'Barryvdh\\DomPDF\\Facade',
),
),
'barryvdh/laravel-ide-helper' =>
array (
'providers' =>

View file

@ -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 (

View file

@ -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",

245
composer.lock generated
View file

@ -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",

244
config/dompdf.php Normal file
View file

@ -0,0 +1,244 @@
<?php
return array(
/*
|--------------------------------------------------------------------------
| Settings
|--------------------------------------------------------------------------
|
| Set some default values. It is possible to add all defines that can be set
| in dompdf_config.inc.php. You can also override the entire config file.
|
*/
'show_warnings' => 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, <img> 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 <script type="text/php"> ... </script> 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 <script type="text/javascript"> ... </script> 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,
),
);

View file

@ -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'),

View file

@ -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;
}

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
@extends('layouts.layout-2-2')
@extends('layouts.layout-2')
@section('content')
<div class="card mb-4">
@ -13,7 +13,7 @@
</div>
</div>
{!! Form::open(['url' => route('admin_lead_change_mail', [$user->id]) ]) !!}
{!! Form::open(['url' => route('admin_user_change_mail', [$user->id]) ]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('New E-Mail Address')}}*</label>
@ -42,7 +42,7 @@
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
<a href="{{ route('admin_lead_edit', [$user->id]) }}" class="btn btn-default">{{ __('back') }}</a>
<a href="{{ route('admin_user_edit', [$user->id]) }}" class="btn btn-default">{{ __('back') }}</a>
</div>
</div>

View file

@ -1,4 +1,4 @@
@extends('layouts.layout-2-2')
@extends('layouts.layout-2')
@section('content')
<div class="row">

View file

@ -17,19 +17,15 @@
@endif
<h4 class="font-weight-bold py-3 mb-4">
{{ __('Create/Edit Contact') }}
User bearbeiten/anlegen
</h4>
{!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
{{-- @include('user.form') --}}
{!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal']) !!}
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
@include('admin.user_form')
<div class="text-left mt-3">
<button type="submit" class="btn btn-submit">{{ __('save') }}</button>&nbsp;
<a href="{{ route('admin_users') }}" class="btn btn-default">{{ __('abort') }}</a>
</div>

View file

@ -0,0 +1,47 @@
<div class="card mb-4">
<h5 class="card-header">
{{ __('Daten') }}
</h5>
<div class="card-body">
<div class="form-group">
<label class="form-label" for="position_text">{{ __('Name') }}</label>
{{ Form::text('name', $user->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required')) }}
</div>
<hr>
@if($user->email)
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'readonly'=>true)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'readonly'=>true)) }}
</div>
</div>
@if(isset($isFromAdmin))
@if(count($user->user_update_email) > 0)
<p class="badge badge-primary" style=" color:#fff;">{{ $user->user_update_email->first()->email }} {{__('waiting for activation since')}} | {{ $user->user_update_email->first()->created_at->format('d.m.Y H:i') }}</p><br>
@endif
<a href="{{ route('admin_user_change_mail', [$user->id]) }}" class="btn btn-default btn-sm"> {{ __('Contact') }} {{__('Change E-Mail')}}</a>
@else
<a href="{{ route('user_update_email', [$user->id]) }}" class="btn btn-default btn-sm">{{__('Change E-Mail')}}</a>
@endif
@else
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email')) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm')) }}
</div>
</div>
@endif
</div>
</div>

View file

@ -9,9 +9,11 @@
<div class="card">
<div class="card-datatable table-responsive">
<div class="card-datatable table-responsive py-2">
<div class="mr-4 mb-2 text-right">
<a href="{{ route('admin_user_edit', ['new']) }}" class="btn btn-sm btn-primary">Neuen User anlegen</a>
</div>
<table class="datatables-users table table-striped table-bordered">
<thead>
<tr>
<th>{{__('edit')}}</th>
@ -21,10 +23,12 @@
<th>{{__('verified')}}</th>
<th>{{__('active')}}</th>
<th>{{__('delete')}}</th>
</tr>
</thead>
</table>
<div class="mr-4 mt-2 text-right">
<a href="{{ route('admin_user_edit', ['new']) }}" class="btn btn-sm btn-primary">Neuen User anlegen</a>
</div>
</div>
</div>

View file

@ -18,173 +18,173 @@
<style>
</style>
{{--
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{ __('Your Data') }}</h4>
<p>{{__('Here you can adjust your data.')}}</p>
<div id="accordion">
<div class="card mb-2">
<a class="card-header">
<div class="collapsed text-dark" data-toggle="collapse" href="#accordion-2" aria-expanded="false">
{{ __('Your Data') }} <i class="ion ion-ios-arrow-down"></i>
</div>
</a>
<div id="accordion-2" class="collapse" data-parent="#accordion" style="">
<div class="card-body" style="background-color: #f5f5f5;">
{{--
@if($user->account->company == 1)
<h5 class="mt-0 mb-3">{{ __('Company data') }}</h5>
<div class="table-responsive">
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{ __('Your Data') }}</h4>
<p>{{__('Here you can adjust your data.')}}</p>
<div id="accordion">
<div class="card mb-2">
<a class="card-header">
<div class="collapsed text-dark" data-toggle="collapse" href="#accordion-2" aria-expanded="false">
{{ __('Your Data') }} <i class="ion ion-ios-arrow-down"></i>
</div>
</a>
<div id="accordion-2" class="collapse" data-parent="#accordion" style="">
<div class="card-body" style="background-color: #f5f5f5;">
{{--
@if($user->account->company == 1)
<h5 class="mt-0 mb-3">{{ __('Company data') }}</h5>
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ __('Company name') }}:</td>
<td>{{ $user->account->company_name }}</td>
</tr>
<tr>
<td>{{ __('Street') }} / {{ __('House number') }}:</td>
<td>{{ $user->account->company_street }}</td>
</tr>
<tr>
<td>{{ __('Postcode') }}:</td>
<td>{{ $user->account->company_postal_code }}</td>
</tr>
<tr>
<td>{{ __('City') }}:</td>
<td>{{ $user->account->company_city }}</td>
</tr>
<tr>
<td>{{ __('Country') }}:</td>
<td>@if($user->account->company_country_id) {{ $user->account->company_country->getLocated() }} @endif</td>
</tr>
<tr>
<td>{{ __('Phone') }}:</td>
<td>@if($user->account->company_pre_phone_id) {{ $user->account->company_pre_phone->code }}@endif {{ $user->account->company_phone }}</td>
</tr>
<tr>
<td>{{ __('Homepage') }}:</td>
<td>{{ $user->account->company_homepage }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<h5 class="mt-4 mb-3">{{ __('Industry') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
@foreach($user->account->getUserIndustrySectorsParents() as $user_industry_sector_parents)
<tr>
<td>{{ $user_industry_sector_parents->industry_sector->getLang('name') }}:</td>
<td>
@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
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
@endif
<h5 class="mt-4 mb-3">{{ __('Your Data') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ __('Company name') }}:</td>
<td>{{ $user->account->company_name }}</td>
<td>{{ __('Function') }}:</td>
<td>{{ $user->account->position_text }}</td>
</tr>
<tr>
<td>{{ __('Salutation') }}:</td>
<td>{!! HTMLHelper::getSalutationLang($user->account->salutation) !!}</td>
</tr>
<tr>
<td>{{ __('Title') }}:</td>
<td>{{ $user->account->title }}</td>
</tr>
<tr>
<td>{{ __('First name') }}:</td>
<td>{{ $user->account->first_name }}</td>
</tr>
<tr>
<td>{{ __('Last Name') }}:</td>
<td>{{ $user->account->last_name }}</td>
</tr>
<tr>
<td>{{ __('Street') }} / {{ __('House number') }}:</td>
<td>{{ $user->account->company_street }}</td>
<td>{{ $user->account->street }}</td>
</tr>
<tr>
<td>{{ __('Postcode') }}:</td>
<td>{{ $user->account->company_postal_code }}</td>
<td>{{ $user->account->postal_code }}</td>
</tr>
<tr>
<td>{{ __('City') }}:</td>
<td>{{ $user->account->company_city }}</td>
<td>{{ $user->account->city }}</td>
</tr>
<tr>
<td>{{ __('Country') }}:</td>
<td>@if($user->account->company_country_id) {{ $user->account->company_country->getLocated() }} @endif</td>
<td>@if($user->account->country_id){{ $user->account->country->getLocated() }}@endif</td>
</tr>
<tr>
<td>{{ __('Phone') }}:</td>
<td>@if($user->account->company_pre_phone_id) {{ $user->account->company_pre_phone->code }}@endif {{ $user->account->company_phone }}</td>
<td>@if($user->account->pre_phone_id) {{ $user->account->pre_phone->code }}@endif {{ $user->account->phone }}</td>
</tr>
<tr>
<td>{{ __('Homepage') }}:</td>
<td>{{ $user->account->company_homepage }}</td>
<td>{{ __('Mobile Phone') }}:</td>
<td>@if($user->account->pre_mobil_id) {{ $user->account->pre_mobil->code }}@endif {{ $user->account->mobil }}</td>
</tr>
<tr>
<td>{{ __('E-Mail Address') }}:</td>
<td>{{ $user->email }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<h5 class="mt-4 mb-3">{{ __('Industry') }}</h5>
<h5 class="mt-4 mb-3">{{ __('Your interests') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
@foreach($user->account->getUserIndustrySectorsParents() as $user_industry_sector_parents)
@foreach($user->account->user_interests as $user_interest)
<tr>
<td>{{ $user_industry_sector_parents->industry_sector->getLang('name') }}:</td>
<td>{{ $user_interest->interest->getLang('name') }}:</td>
<td>
@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
<span class="ion ion-md-checkmark-circle-outline text-primary"></span>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ $user->account->contactpartner }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
@endif
<h5 class="mt-4 mb-3">{{ __('Your Data') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ __('Function') }}:</td>
<td>{{ $user->account->position_text }}</td>
</tr>
<tr>
<td>{{ __('Salutation') }}:</td>
<td>{!! HTMLHelper::getSalutationLang($user->account->salutation) !!}</td>
</tr>
<tr>
<td>{{ __('Title') }}:</td>
<td>{{ $user->account->title }}</td>
</tr>
<tr>
<td>{{ __('First name') }}:</td>
<td>{{ $user->account->first_name }}</td>
</tr>
<tr>
<td>{{ __('Last Name') }}:</td>
<td>{{ $user->account->last_name }}</td>
</tr>
<tr>
<td>{{ __('Street') }} / {{ __('House number') }}:</td>
<td>{{ $user->account->street }}</td>
</tr>
<tr>
<td>{{ __('Postcode') }}:</td>
<td>{{ $user->account->postal_code }}</td>
</tr>
<tr>
<td>{{ __('City') }}:</td>
<td>{{ $user->account->city }}</td>
</tr>
<tr>
<td>{{ __('Country') }}:</td>
<td>@if($user->account->country_id){{ $user->account->country->getLocated() }}@endif</td>
</tr>
<tr>
<td>{{ __('Phone') }}:</td>
<td>@if($user->account->pre_phone_id) {{ $user->account->pre_phone->code }}@endif {{ $user->account->phone }}</td>
</tr>
<tr>
<td>{{ __('Mobile Phone') }}:</td>
<td>@if($user->account->pre_mobil_id) {{ $user->account->pre_mobil->code }}@endif {{ $user->account->mobil }}</td>
</tr>
<tr>
<td>{{ __('E-Mail Address') }}:</td>
<td>{{ $user->email }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<h5 class="mt-4 mb-3">{{ __('Your interests') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
@foreach($user->account->user_interests as $user_interest)
<tr>
<td>{{ $user_interest->interest->getLang('name') }}:</td>
<td>
<span class="ion ion-md-checkmark-circle-outline text-primary"></span>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ $user->account->contactpartner }}</td>
</tr>
</tbody>
</table>
</div>
--}}
</div>
</div>
@ -201,6 +201,7 @@
onclick="$('#user-edit-info-btn').click();">{{ __('Adjust data') }}</a>
@endif
</div>
--}}
@ -266,7 +267,7 @@
<p>{{__('Sign in with your e-mail:')}} {{ Auth::user()->email }}</p>
@if(!$user->isPasswort())
<p>{{__('Assign a password for your account.')}}</p>
<a href="{{route('user_update_password_first')}}" class="btn btn-submit">{{__('Create Password')}}</a>
<a href="{{route('user_update_password_first')}}" class="btn btn-secondary">{{__('Create Password')}}</a>
@else
<p>{{__('Change your password here to access your account.')}}</p>
<a href="{{route('user_update_password')}}" class="btn btn-secondary">{{__('Change password')}}</a>
@ -280,11 +281,13 @@
&nbsp; {{ __('Logout') }}</a>
</div>
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
{{--
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{__('Delete') }}</h4>
<p>{{__('If you no longer want to use our offer, you can delete your account here.')}}</p>
<a href="{{route('user_delete_account')}}" class="btn btn-default">{{__('Delete Account')}}</a>
</div>
--}}
@endsection

View file

@ -0,0 +1,275 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
{!! Html::style('css/invoice_fewo_pdf.css') !!}
<style>
@page {
margin: 90mm 0 30mm 0;
}
.font-weight-bold {
font-weight: 600;
}
#logo_box {
position: absolute;
top:-80mm;
left: 25mm;
right: 25mm;
height: 25mm;
z-index: 1;
font-size: 10pt;
text-align: center;
}
#logo_box img {
width: 65mm;
}
#address_box {
position: absolute;
top:-40mm;
left: 25mm;
width: 100mm;
height: 45mm;
z-index: 1;
font-size: 11pt;
}
#address_box #address_back{
font-size: 7pt;
text-decoration: underline;
margin-bottom: 2mm;
}
#date_box {
position: absolute;
top:-10mm;
right: 15mm;
width: 70mm;
height: 10mm;
z-index: 1;
font-size: 10pt;
line-height: 12pt;
text-align: right;
}
#title_box {
position: absolute;
top:0mm;
left: 25mm;
width: 160mm;
height: 10mm;
z-index: 2;
font-weight: bold;
}
#title_box .title {
font-size: 16pt;
line-height: 12pt;
}
#title_box .subtitle {
font-size: 9pt;
line-height: 9pt;
}
#detail_box {
position: absolute;
top:15mm;
left: 25mm;
right: 15mm;
z-index: 3;
font-size: 9pt;
}
#detail_box table {
width: 100%;
line-height: 9pt;
border-collapse: collapse;
}
#detail_box table td {
border: 0.5pt solid #8c8c8c;
padding: 1mm;
}
#detail_box table td.left {
text-align: right;
width: 50mm;
}
#detail_box table td.right {
text-align: left;
}
.singel-line-top {
border-top: 1pt solid #1a1a18;
}
.double-line {
border-bottom: 2.5pt double #1a1a18;
}
.dotted-line {
border-bottom: 0.8pt dotted #1a1a18;
}
#footer_box {
position: absolute;
bottom:-25mm;
left: 25mm;
right: 15mm;
height: 30mm;
z-index: 6;
font-size: 7pt;
line-height: 8pt;
}
#footer_box table {
margin-top: 2mm;
width: 100%;
}
#footer_box table td {
vertical-align: top;
}
</style>
</head>
<body>
{{--
<div id="brand_paper_background">
<img src="{{ base_path()}}/storage/app/pdf/inno-plan-bg.png" height="100%" width="100%">
</div>
--}}
<div id="logo_box">
<img src="{{asset('images/stern-tours-logo.png')}}">
</div>
<div id="address_box">
<div id="address_back">STERN TOURS GmbH &bull; Emser Str. 3 &bull; 10719 Berlin</div>
{!! nl2br($model->getBookingUserAddress()) !!}
</div>
<div id="date_box">
Berlin, den {!! date("d.m.Y") !!}
</div>
<div id="title_box">
Mietbestätigung / Rechnung Nr. {{$model->invoice_number}}
</div>
<div id="detail_box">
<p> Sehr geehrte Damen und Herren,<br>
<br>
herzlichen Dank für Ihre Online-Buchung vom {{$model->booking_date}} :</p>
<p>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:</p>
<table>
<tr>
<td class="left">{{ __('Belegungszeitraum:') }}</td>
<td class="right">
<div class="font-weight-bold">{{$model->from_date}} von {{$model->to_date}}</div>
</td>
</tr>
<tr>
<td class="left">{{ __('Ferienwohnung:') }}</td>
<td class="right">
<div class="font-weight-bold"> {!! nl2br($model->getNameAddressLocation()) !!}</div>
</td>
</tr>
<tr>
<td class="left">{{ __('Mietpreis:') }}</td>
<td class="right">
<div class="font-weight-bold">{{ $model->price_travel }} </div>
</td>
</tr>
<tr>
<td class="left">{{ __('Service-Gebühr:') }}??</td>
<td class="right">
<div class="font-weight-bold">{{ $model->price_service }} </div>
</td>
</tr>
<tr>
<td class="left">{{ __('Kaution:') }}</td>
<td class="right">
<div class="font-weight-bold">{{ $model->price_deposit }} </div>
</td>
</tr>
<tr>
<td class="left">{{ __('Gesamtpreis:') }}</td>
<td class="right">
<div class="font-weight-bold">{{ $model->price_total }} </div>
</td>
</tr>
</table>
<p>Mit dieser Buchungsbestätigung ist der Mietvertrag für <strong>Sie und uns verbindlich.</strong></p>
<p>Entsprechend der Regelungen unter Ziffer 3.1. und 3.2. unserer Mietbedingungen überweisen Sie uns bitte</p>
<ul>
<li>eine sofort zahlungsfällige Anzahlung von 50% Mietpreis = <strong>{{ $model->getPriceTravelFirstPay() }} </strong></li>
<li>sowie eine Restzahlung von <strong>{{ $model->getPriceTravelSecondPay() }} </strong> bis spätestens 4 Wochen vor Belegungsbeginn inkl. der oben genannten Kaution.</li>
</ul>
<p>auf folgendes Bankkonto:<br>
<strong>STERN TOURS GmbH<br>
IBAN: DE83100208900018857111<br>
BIC: HYVEDEMM488</strong>
</p>
<p>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.<p>
<p>Mit freundlichen Grüßen<br>
Ihr Team von STERN TOURS</p>
</div>
<div id="footer_box">
<strong>P.S.: Wir empfehlen dringend, den Abschluss einer Reiserücktrittskostenversicherung.</strong>
<table>
<tr>
<td style="width: 20%">
<strong>STERN TOURS GmbH</strong><br>
Emser Str. 3<br>
10719 Berlin<br>
</td>
<td>
<strong>Fon:</strong> 030 | 88 0 313 0<br>
<strong>Fax:</strong> 030 | 88 0 313 44<br>
<strong>E-Mail:</strong> kontakt@sterntours.de<br>
<strong>Web:</strong> www.sterntours.de
</td>
<td>
<strong>Bankverbindung:</strong><br>
STERN TOURS<br>
Hypo Vereinsbank<br>
IBAN: DE83100208900018857111<br>
BIC-/SWIFT-Code: HYVEDEMM488
</td>
<td>
<strong>Öffnungszeiten:</strong><br>
Mo-Do: 09.00-18.00 Uhr<br>
FR: 09.00-16.00 Uhr<br><br>
UStId: DE192609253<br>
Registernr.: HRB 67111<br>
Amtsgericht Charlottenburg<br>
</td>
</tr>
</table>
</div>
</body>
</html>

View file

@ -0,0 +1,43 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<style>
.ui-icon {
width: 90px;
height: 90px;
font-size: 50px;
line-height: calc(90px - 4px);
}
</style>
<div class="text-primary mx-auto mb-4 text-center">
<span class="ui-icon font-weight-bolder">
<i class="ion ion-ios-cog" style="color: #e48800;"></i>
</span>
</div>
<p class="text-center text-big mb-4"><strong>{{ __('Your registration has already been completed.') }}</strong></p>
@if(!Auth::check())
<a href="{{route('login')}}" class="btn btn-lg btn-submit btn-block">{{ __('zum Login') }}</a>
<a href="{{route('password.request')}}" class="btn btn-lg btn-default btn-block">{{ __('neues Passwort erstellen') }}</a>
@endif
<hr>
<br>
<a href="{{route('home')}}" class="btn btn-primary btn-block">{{ __('Home') }}</a>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -0,0 +1,32 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<style>
.ui-icon {
width: 90px;
height: 90px;
font-size: 50px;
line-height: calc(90px - 4px);
}
</style>
<div class="text-primary mx-auto mb-4 text-center">
<span class="ui-icon font-weight-bolder">
<i class="ion ion-ios-contact" style="color: #e48800;"></i>
</span>
</div>
<p class="text-center text-big mb-4"><strong>{{ __('E-Mail bestätigt.') }}</strong><br><br><a href="{{route('home')}}" class="btn btn btn-lg btn-submit"><i class="ion ion-ios-arrow-dropright"></i> {{ __('Home') }}</a></p>
<hr>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<style>
.ui-icon {
width: 90px;
height: 90px;
font-size: 50px;
line-height: calc(90px - 4px);
}
</style>
<div class="text-primary mx-auto mb-4 text-center">
<span class="ui-icon font-weight-bolder">
<i class="ion ion-md-close" style="color: #e48800;"></i>
</span>
</div>
<p class="text-center text-big mb-4"><strong>{{ __('Page not available') }}</strong></p>
<a href="{{route('/')}}" class="btn btn-primary btn-block">{{ __('back to the homepage') }}</a>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -0,0 +1,40 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<style>
.ui-icon {
width: 90px;
height: 90px;
font-size: 50px;
line-height: calc(90px - 4px);
}
</style>
<div class="text-primary mx-auto mb-4 text-center">
<span class="ui-icon font-weight-bolder">
<i class="ion ion-ios-paper-plane" style="color: #e48800;"></i>
</span>
</div>
<p class="text-center text-big mb-4">{{ __('Thank you for your registration!') }}</p>
<p class="text-center text-big mb-4"><strong>{{ __('We have sent you an e-mail with a link to activate your data.') }}</strong></p>
<a href="{{route('/')}}" class="btn btn-primary btn-block">{{ __('back to the homepage') }}</a>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -0,0 +1,34 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<style>
.ui-icon {
width: 90px;
height: 90px;
font-size: 50px;
line-height: calc(90px - 4px);
}
</style>
<div class="text-primary mx-auto mb-4 text-center">
<span class="ui-icon font-weight-bolder">
<i class="ion ion-ios-mail" style="color: #e48800;"></i>
</span>
</div>
<h3 class="text-center">{{ __('E-Mail bestätigt.') }}</h3>
<div class="text-center"><a href="{{route('home')}}" class="btn btn btn-lg btn-submit animated infinite pulse"><i class="ion ion-ios-arrow-dropright fa-lg"></i> {{ __('Home') }}</a></div>
<hr>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -0,0 +1,24 @@
@extends('layouts.layout-2')
@section('content')
<div class="authentication-wrapper authentication-2 px-4" style="margin-top: 120px;">
<div class="authentication-inner py-5">
<!-- Form -->
<div class="card">
<div class="p-4 p-sm-5">
<div class="display-1 lnr lnr-checkmark-circle text-center text-success mb-4"></div>
<p class="text-center text-big mb-4">Your email address has been successfully confirmed.</p>
<button type="button" class="btn btn-primary btn-block">Proceed to your account</button>
</div>
</div>
<!-- / Form -->
</div>
</div>
@endsection

View file

@ -4,10 +4,15 @@
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label">{{ __('Kunde') }}*</label>
<label class="form-label">{{ __('Kunde') }}*
@if($travel_user_booking_fewo->travel_user_id)
{!! '<a href="'.route('travel_user_detail', [$travel_user_booking_fewo->travel_user_id]) .'">'.$travel_user_booking_fewo->travel_user->first_name.' '.$travel_user_booking_fewo->travel_user->last_name.'</a>' !!}
@endif</label>
<select class="selectpicker" data-style="btn-light" name="travel_user_id" data-live-search="true" required>
{!! HTMLHelper::getTravelUserOptions($travel_user_booking_fewo->travel_user_id) !!}
</select>
</div>
<div class="form-group col-md-6">
<label class="form-label">{{ __('FeWo') }}*</label>
@ -151,13 +156,23 @@
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="notice">{{ __('Bemerkung Kunde') }}*</label>
<label class="form-label" for="notice">{{ __('Bemerkung Kunde') }}</label>
{{ Form::textarea('notice', $travel_user_booking_fewo->notice, ['class' => 'form-control', 'rows'=>4]) }}
</div>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-body">
<div class="text-right">
<button type="submit" name="action" value="createInvoice" class="btn btn-primary">{{ __('Mietbestätigung / Rechnung erstellen') }}</button>&nbsp;
</div>
</div>
</div>
<script>
function floatNumber(n) {
'use strict';

View file

@ -16,15 +16,10 @@
</div>
@endif
<h4 class="font-weight-bold py-3 mb-4">
{{ __('Your Data') }}
</h4>
{!! Form::open(['url' => route('user_edit'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
{{-- @include('user.form') --}}
@include('user.form')
<div class="text-left mt-3">
<button type="submit" class="btn btn-secondary">{{ __('save changes') }}</button>&nbsp;

View file

@ -1,192 +1,14 @@
<div class="card mb-4">
<h5 class="card-header">
{{ __('use') }}
</h5>
<div class="card-body">
<div class="form-group">
<label class="form-label">{{ __('business or private') }}*</label>
<select class="selectpicker" name="company" id="company" data-style="btn-light" data-live-search="false" required, tabindex="0">
{!! HTMLHelper::getCompanyOptions($user->account->company) !!}
</select>
@if ($errors->has('company'))
<span class="help-block">
<strong>{{ $errors->first('company') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="card mb-4 show_company_holder">
<h5 class="card-header">
{{ __('Company data') }}
</h5>
<div class="card-body">
<div class="form-group">
<label for="company_name" class="form-label">{{ __('Company name') }}*</label>
{{ Form::text('company_name', $user->account->company_name, array('placeholder'=>__('Company name'), 'class'=>'form-control', 'id'=>'company_name', 'required' => true, 'tabindex' => 1)) }}
</div>
<div class="form-group">
<label class="form-label" for="company_street">{{ __('Street') }} / {{ __('House number') }}</label>
{{ Form::text('company_street', $user->account->company_street, array('placeholder'=>__('Street'), 'class'=>'form-control', 'id'=>'company_street', 'tabindex' => 2)) }}
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="form-label" for="company_postal_code">{{ __('Postcode') }}</label>
{{ Form::text('company_postal_code', $user->account->company_postal_code, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'id'=>'company_postal_code', 'tabindex' => 3)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="company_city">{{ __('City') }}</label>
{{ Form::text('company_city', $user->account->company_city, array('placeholder'=>__('City'), 'class'=>'form-control', 'id'=>'company_city', 'tabindex' => 4)) }}
</div>
<div class="form-group col-md-4 {{ $errors->has('company_country_id') ? 'has-error' : '' }}">
<label class="form-label">{{ __('Country') }}*</label>
<select class="selectpicker" name="company_country_id" id="company_country_id" data-style="btn-light" data-live-search="true" required tabindex="5">
{!! HTMLHelper::getContriesWithMore($user->account->company_country_id) !!}
</select>
@if ($errors->has('company_country_id'))
<span class="help-block">
<strong>{{ $errors->first('company_country_id') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="company_pre_phone_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="company_pre_phone_id" id="company_pre_phone_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->company_pre_phone_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="company_phone">{{ __('Phone') }}</label>
{{ Form::text('company_phone', $user->account->company_phone, array('placeholder'=>__('Phone'), 'class'=>'form-control', 'id'=>'company_phone', 'tabindex' => 7)) }}
</div>
</div>
<div class="form-group">
<label class="form-label" for="company_homepage">{{ __('Homepage') }}</label>
{{ Form::text('company_homepage', $user->account->company_homepage, array('placeholder'=>__('Homepage'), 'class'=>'form-control', 'id'=>'company_homepage', 'tabindex' => 8)) }}
</div>
</div>
</div>
<div class="card mb-4 show_company_holder">
<h5 class="card-header">
{{ __('Industry') }}
</h5>
<div class="card-body">
<div class="row">
{!! HTMLHelper::getIndustrySectorForHTML($user->account->getUserIndustrySectorIds()) !!}
</div>
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your Data') }}
{{ __('Daten') }}
</h5>
<div class="card-body">
<div class="form-group">
<label class="form-label" for="position_text">{{ __('Function') }}</label>
{{ Form::text('position_text', $user->account->position_text, array('placeholder'=>__('Function'), 'class'=>'form-control', 'id'=>'position_text', 'tabindex' => 9)) }}
<label class="form-label" for="position_text">{{ __('Name') }}</label>
{{ Form::text('name', $user->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required')) }}
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label">{{ __('Salutation') }}*</label>
<select class="selectpicker" data-style="btn-light" name="salutation" id="salutation" required tabindex="10">
{!! HTMLHelper::getSalutation($user->account->salutation) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="title">{{ __('Title') }}</label>
{{ Form::text('title', $user->account->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'title', 'tabindex' => 11)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="first_name">{{ __('First name') }}</label>
{{ Form::text('first_name', $user->account->first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'id'=>'first_name', 'tabindex' => 12)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="last_name">{{ __('Last Name') }}*</label>
{{ Form::text('last_name', $user->account->last_name, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'id'=>'last_name', 'required'=>true, 'tabindex' => 13)) }}
</div>
</div>
<div class="form-group">
<label class="form-label" for="street">{{ __('Street') }} / {{ __('House number') }}</label>
{{ Form::text('street', $user->account->street, array('placeholder'=>__('Street'), 'class'=>'form-control', 'id'=>'street', 'tabindex' => 14)) }}
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="form-label" for="postal_code">{{ __('Postcode') }}</label>
{{ Form::text('postal_code', $user->account->postal_code, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'id'=>'postal_code', 'tabindex' => 15)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="city">{{ __('City') }}</label>
{{ Form::text('city', $user->account->city, array('placeholder'=>__('City'), 'class'=>'form-control', 'id'=>'city', 'tabindex' => 16)) }}
</div>
<div class="form-group col-md-4 {{ $errors->has('country_id') ? 'has-error' : '' }}">
<label class="form-label">{{ __('Country') }}*</label>
<select class="selectpicker" name="country_id" id="country_id" data-style="btn-light" data-live-search="true" required tabindex="17">
{!! HTMLHelper::getContriesWithMore($user->account->country_id) !!}
</select>
@if ($errors->has('country_id'))
<span class="help-block">
<strong>{{ $errors->first('country_id') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="pre_mobil_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="pre_phone_id" id="pre_phone_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->pre_phone_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="phone">{{ __('Phone') }}</label>
{{ Form::text('phone', $user->account->phone, array('placeholder'=>__('Mobile Phone'), 'class'=>'form-control', 'id'=>'phone', 'tabindex' => 18)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="pre_mobil_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="pre_mobil_id" id="pre_mobil_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->pre_mobil_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="mobil">{{ __('Mobile Phone') }}</label>
{{ Form::text('mobil', $user->account->mobil, array('placeholder'=>__('Mobile Phone'), 'class'=>'form-control', 'id'=>'mobil', 'tabindex' => 19)) }}
</div>
</div>
<hr>
@if($user->email)
@ -194,22 +16,20 @@
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'readonly'=>true, 'tabindex' => 20)) }}
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'readonly'=>true)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'readonly'=>true, 'tabindex' => 21)) }}
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'readonly'=>true)) }}
</div>
</div>
@if(isset($can_change_mail))
@if($isFromAdmin)
@if(count($user->user_update_email) > 0)
<p class="badge badge-primary" style=" color:#fff;">{{ $user->user_update_email->first()->email }} {{__('waiting for activation since')}} | {{ $user->user_update_email->first()->created_at->format('d.m.Y H:i') }}</p><br>
@endif
<a href="{{ route('admin_lead_change_mail', [$user->id]) }}" class="btn btn-submit btn-sm"> {{ __('Contact') }} {{__('Change E-Mail')}}</a>
<a href="{{ route('admin_user_change_mail', [$user->id]) }}" class="btn btn-default btn-sm"> {{ __('Contact') }} {{__('Change E-Mail')}}</a>
@else
<a href="{{ route('user_update_email', [$user->id]) }}" class="btn btn-submit btn-sm">{{__('Change E-Mail')}}</a>
<a href="{{ route('user_update_email', [$user->id]) }}" class="btn btn-default btn-sm">{{__('Change E-Mail')}}</a>
@endif
@ -217,36 +37,14 @@
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'tabindex' => 20)) }}
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email')) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'tabindex' => 21)) }}
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm')) }}
</div>
</div>
@endif
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your interests') }}
</h5>
<div class="card-body">
<div class="row">
{!! HTMLHelper::getIntereststForHTML($user->account->getUserInterestIds()) !!}
</div>
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your contact at JACKON') }}
</h5>
<div class="card-body">
<div class="form-group">
{{ Form::text('contactpartner', $user->account->contactpartner, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'contactpartner', 'tabindex' => 22)) }}
</div>
</div>
</div>

View file

@ -35,16 +35,16 @@ Route::get('locale/{locale}', function ($locale) {
/*Route::post('/register/data', 'HomeController@register')->name('register_data');
Route::post('/user/check/mail', 'HomeController@checkMail')->name('user_check_mail');
*/
Route::get('/register/verify/{confirmationCode}', 'HomeController@verify')->name('register_verify');
Route::get('/register/verify/{confirmationCode?}', 'HomeController@verify')->name('register_verify');
Route::get('/register/active/{confirmationCode?}', 'HomeController@active')->name('register_active');
Route::get('/status/register', 'HomeController@statusRegister')->name('status_register');
Route::get('/status/verify', 'HomeController@statusVerify')->name('status_verify');
Route::get('/status/active', 'HomeController@statusActive')->name('status_active');
Route::get('/status/error', 'HomeController@statusError')->name('status_error');
Route::get('/user/update_email_confirm/{token}', 'UpdateEmailController@activateMail')->name('user_update_email_confirm');
*/
Route::get('/status/not/found', 'HomeController@notFound')->name('not_found');
Route::get('/data_protected', 'HomeController@legalDataProtected')->name('data_protected');
Route::get('/imprint', 'HomeController@legalImprint')->name('imprint');
@ -155,7 +155,7 @@ Route::group(['middleware' => ['admin']], function()
Route::post('/booking/detail/{id}', 'BookingController@store')->name('booking_detail');
Route::get('/booking/draft_item/delete/{id}', 'BookingController@draftItemDelete')->name('booking_draft_item_delete');
});
Route::group(['middleware' => ['auth.permission:crm-bo-bo']], function() {
Route::group(['middleware' => ['auth.permission:crm-cm-cf']], function() {
//Kundenverwaltung > Kunden (FeWo
Route::get('/travel_users', 'TravelUserController@index')->name('travel_users');
Route::get('/data/table/travel_users', 'TravelUserController@getTravelUsers')->name('data_table_travel_users');
@ -163,7 +163,7 @@ Route::group(['middleware' => ['admin']], function()
Route::post('/travel_user/detail/{id}', 'TravelUserController@store')->name('travel_user_detail');
Route::get('/travel_user/delete/{id}', 'TravelUserController@delete')->name('travel_user_delete');
});
Route::group(['middleware' => ['auth.permission:crm-bo-bf']], function() {
Route::group(['middleware' => ['auth.permission:crm-cm-bf']], function() {
//Kundenverwaltung > Buchungen (FeWo
Route::get('/travel_user_booking_fewos', 'TravelUserBookingFewoController@index')->name('travel_user_booking_fewos');
Route::get('/data/table/travel_user_booking_fewos', 'TravelUserBookingFewoController@getTravelUserBookingFewos')->name('data_table_travel_user_booking_fewos');
@ -239,8 +239,14 @@ Route::group(['middleware' => ['superadmin']], function() {
Route::group(['middleware' => ['auth.permission:sua-ur-rt']], function() {
//SUPERADMIN > User Rechte
Route::get('/admin/users', 'AdminUserController@index')->name('admin_users');
Route::get('/admin/user/edit/{user_id}', 'AdminUserController@edit')->name('admin_user_edit');
Route::get('/admin/user/edit/{id}', 'AdminUserController@edit')->name('admin_user_edit');
Route::post('/admin/user/store', 'AdminUserController@store')->name('admin_user_store');
Route::get('/admin/user/change/mail/{user_id}', 'UserUpdateEmailController@adminChangeMail')->name('admin_user_change_mail');
Route::post('/admin/user/change/mail/{user_id}', 'UserUpdateEmailController@adminUpdateMail')->name('admin_user_change_mail');
Route::get('/admin/user/delete/{user_id}', 'AdminUserController@deleteUser')->name('admin_user_delete');
Route::get('/admin/users/data_table', 'AdminUserController@getUsers')->name('admin_users_data_table');

Binary file not shown.

Binary file not shown.