feat: ✨ Added Localization generation
This commit is contained in:
parent
5ed46a1640
commit
f10933104c
6 changed files with 973 additions and 859 deletions
|
@ -16,6 +16,7 @@
|
|||
"fruitcake/laravel-cors": "^2.0",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"hidehalo/nanoid-php": "^1.1",
|
||||
"kkomelin/laravel-translatable-string-exporter": "^1.14",
|
||||
"laravel/framework": "^8.12",
|
||||
"laravel/tinker": "^2.5",
|
||||
"laravel/ui": "^3.2",
|
||||
|
|
63
composer.lock
generated
63
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "51c5797dc1629fe1f42b1fdc91c6e5d8",
|
||||
"content-hash": "ed0357bbf827f4e6078d2ed41ce3fa17",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
|
@ -1533,6 +1533,67 @@
|
|||
},
|
||||
"time": "2020-12-11T09:24:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "kkomelin/laravel-translatable-string-exporter",
|
||||
"version": "1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kkomelin/laravel-translatable-string-exporter.git",
|
||||
"reference": "9dce1e5f8ed59a1b58e77ec7d84f1427d5e29f0a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/kkomelin/laravel-translatable-string-exporter/zipball/9dce1e5f8ed59a1b58e77ec7d84f1427d5e29f0a",
|
||||
"reference": "9dce1e5f8ed59a1b58e77ec7d84f1427d5e29f0a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"illuminate/support": "^5.4|^6|^7|^8",
|
||||
"illuminate/translation": "^5.4|^6|^7|^8",
|
||||
"php": ">=5.4.0",
|
||||
"symfony/finder": "^3.2|^4|^5"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^3.4|^4.0|^5.0|^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"KKomelin\\TranslatableStringExporter\\Providers\\ExporterServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"KKomelin\\TranslatableStringExporter\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Konstantin Komelin",
|
||||
"email": "konstantin.komelin@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Translatable String Exporter for Laravel",
|
||||
"keywords": [
|
||||
"export",
|
||||
"exporter",
|
||||
"json",
|
||||
"laravel",
|
||||
"translations"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/kkomelin/laravel-translatable-string-exporter/issues",
|
||||
"source": "https://github.com/kkomelin/laravel-translatable-string-exporter/tree/1.14.0"
|
||||
},
|
||||
"time": "2021-08-08T06:48:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v8.45.1",
|
||||
|
|
|
@ -193,6 +193,9 @@ return [
|
|||
App\Providers\RouteServiceProvider::class,
|
||||
Yajra\DataTables\DataTablesServiceProvider::class,
|
||||
|
||||
KKomelin\TranslatableStringExporter\Providers\ExporterServiceProvider::class,
|
||||
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,33 +1,106 @@
|
|||
{
|
||||
"api key created!": "api key created!",
|
||||
"api key updated!": "api key updated!",
|
||||
"api key has been removed!": "api key has been removed!",
|
||||
"Edit": "Edit",
|
||||
"Delete": "Delete",
|
||||
"configuration has been updated!": "configuration has been updated!",
|
||||
"unknown": "unknown",
|
||||
"Pterodactyl synced": "Pterodactyl synced",
|
||||
"Invoice": "Invoice",
|
||||
"Paid": "Paid",
|
||||
"Your credit balance has been increased!": "Your credit balance has been increased!",
|
||||
"Payment was Canceled": "Payment was Canceled",
|
||||
"Store item has been created!": "Store item has been created!",
|
||||
"Store item has been updated!": "Store item has been updated!",
|
||||
"Product has been updated!": "Product has been updated!",
|
||||
"Store item has been removed!": "Store item has been removed!",
|
||||
"Product has been created!": "Product has been created!",
|
||||
"Product has been removed!": "Product has been removed!",
|
||||
"Show": "Show",
|
||||
"Clone": "Clone",
|
||||
"Server removed": "Server removed",
|
||||
"An exception has occurred while trying to remove a resource \"": "An exception has occurred while trying to remove a resource \"",
|
||||
"Server has been updated!": "Server has been updated!",
|
||||
"Unsuspend": "Unsuspend",
|
||||
"Suspend": "Suspend",
|
||||
"Icons updated!": "Icons updated!",
|
||||
"link has been created!": "link has been created!",
|
||||
"link has been updated!": "link has been updated!",
|
||||
"product has been removed!": "product has been removed!",
|
||||
"User does not exists on pterodactyl's panel": "User does not exists on pterodactyl's panel",
|
||||
"user has been removed!": "user has been removed!",
|
||||
"Notification sent!": "Notification sent!",
|
||||
"User has been updated!": "User has been updated!",
|
||||
"Login as User": "Login as User",
|
||||
"voucher has been created!": "voucher has been created!",
|
||||
"voucher has been updated!": "voucher has been updated!",
|
||||
"voucher has been removed!": "voucher has been removed!",
|
||||
"This voucher has reached the maximum amount of uses": "This voucher has reached the maximum amount of uses",
|
||||
"This voucher has expired": "This voucher has expired",
|
||||
"You already redeemed this voucher code": "You already redeemed this voucher code",
|
||||
"have been added to your balance!": "have been added to your balance!",
|
||||
"Users": "Users",
|
||||
"VALID": "VALID",
|
||||
"days": "days",
|
||||
"hours": "hours",
|
||||
"You ran out of Credits": "You ran out of Credits",
|
||||
"Profile updated": "Profile updated",
|
||||
"Server limit reached!": "Server limit reached!",
|
||||
"You are required to verify your email address before you can create a server.": "You are required to verify your email address before you can create a server.",
|
||||
"You are required to link your discord account before you can create a server.": "You are required to link your discord account before you can create a server.",
|
||||
"Server created": "Server created",
|
||||
"No allocations satisfying the requirements for automatic deployment on this node were found.": "No allocations satisfying the requirements for automatic deployment on this node were found.",
|
||||
"You are required to verify your email address before you can purchase credits.": "You are required to verify your email address before you can purchase credits.",
|
||||
"You are required to link your discord account before you can purchase Credits": "You are required to link your discord account before you can purchase Credits",
|
||||
"EXPIRED": "EXPIRED",
|
||||
"Payment Confirmation": "Payment Confirmation",
|
||||
"Payment Confirmed!": "Payment Confirmed!",
|
||||
"Your Payment was successful!": "Your Payment was successful!",
|
||||
"Hello": "Hello",
|
||||
"Your payment was processed successfully!": "Your payment was processed successfully!",
|
||||
"Status": "Status",
|
||||
"Price": "Price",
|
||||
"Type": "Type",
|
||||
"Amount": "Amount",
|
||||
"Balance": "Balance",
|
||||
"User ID": "User ID",
|
||||
"Server Creation Error": "Server Creation Error",
|
||||
"Your servers have been suspended!": "Your servers have been suspended!",
|
||||
"To automatically re-enable your server/s, you need to purchase more credits.": "To automatically re-enable your server/s, you need to purchase more credits.",
|
||||
"Purchase credits": "Purchase credits",
|
||||
"If you have any questions please let us know.": "If you have any questions please let us know.",
|
||||
"Regards": "Regards",
|
||||
"Getting started!": "Getting started!",
|
||||
"Activity Logs": "Activity Logs",
|
||||
"No recent activity from cronjobs": "No recent activity from cronjobs",
|
||||
"Check the docs for it here": "Check the docs for it here",
|
||||
"Are cronjobs running?": "Are cronjobs running?",
|
||||
"Check the docs for it here": "Check the docs for it here",
|
||||
"Causer": "Causer",
|
||||
"Description": "Description",
|
||||
"Created at": "Created at",
|
||||
|
||||
"Application API": "Application API",
|
||||
"Dashboard": "Dashboard",
|
||||
"Create": "Create",
|
||||
"Memo": "Memo",
|
||||
"Submit": "Submit",
|
||||
"Create new": "Create new",
|
||||
"Token": "Token",
|
||||
"Last used": "Last used",
|
||||
"Are you sure you wish to delete?": "Are you sure you wish to delete?",
|
||||
"Edit Configuration": "Edit Configuration",
|
||||
"Text Field": "Text Field",
|
||||
"Cancel": "Cancel",
|
||||
"Close": "Close",
|
||||
"Save": "Save",
|
||||
"true": "true",
|
||||
"false": "false",
|
||||
|
||||
"Configurations": "Configurations",
|
||||
"Dashboard": "Dashboard",
|
||||
"Key": "Key",
|
||||
"Value": "Value",
|
||||
"Type": "Type",
|
||||
|
||||
"Admin Overview": "Admin Overview",
|
||||
"Support server": "Support server",
|
||||
"Documentation": "Documentation",
|
||||
"Github": "Github",
|
||||
"Support ControlPanel": "Support ControlPanel",
|
||||
"Servers": "Servers",
|
||||
"Users": "Users",
|
||||
"Total": "Total",
|
||||
"Payments": "Payments",
|
||||
"Pterodactyl": "Pterodactyl",
|
||||
|
@ -35,66 +108,59 @@
|
|||
"Resources": "Resources",
|
||||
"Count": "Count",
|
||||
"Locations": "Locations",
|
||||
"Node": "Node",
|
||||
"Nodes": "Nodes",
|
||||
"Nests": "Nests",
|
||||
"Eggs": "Eggs",
|
||||
"Last updated :date": "Last updated :date",
|
||||
"Purchase": "Purchase",
|
||||
|
||||
"ID": "ID",
|
||||
"User": "User",
|
||||
"Amount": "Amount",
|
||||
"Product Price": "Product Price",
|
||||
"Tax": "Tax",
|
||||
"Total Price": "Total Price",
|
||||
"Payment_ID": "Payment_ID",
|
||||
"Payer_ID": "Payer_ID",
|
||||
|
||||
"Product": "Product",
|
||||
"Products": "Products",
|
||||
"Create": "Create",
|
||||
"Product Details": "Product Details",
|
||||
"Server Details": "Server Details",
|
||||
|
||||
"Product Linking": "Product Linking",
|
||||
"Disabled": "Disabled",
|
||||
"Will hide this option from being selected": "Will hide this option from being selected",
|
||||
"Name": "Name",
|
||||
"Price in": "Price in",
|
||||
"Memory": "Memory",
|
||||
"Cpu": "Cpu",
|
||||
"Swap": "Swap",
|
||||
"This is what the users sees": "This is what the users sees",
|
||||
"Disk": "Disk",
|
||||
"Minimum": "Minimum",
|
||||
"Setting to -1 will use the value from configuration.": "Setting to -1 will use the value from configuration.",
|
||||
"IO": "IO",
|
||||
"Databases": "Databases",
|
||||
"Database": "Database",
|
||||
"Backups": "Backups",
|
||||
"Allocations": "Allocations",
|
||||
"Disabled": "Disabled",
|
||||
"Submit": "Submit",
|
||||
"Product Linking": "Product Linking",
|
||||
"Link your products to nodes and eggs to create dynamic pricing for each option": "Link your products to nodes and eggs to create dynamic pricing for each option",
|
||||
"This product will only be available for these nodes": "This product will only be available for these nodes",
|
||||
"This product will only be available for these eggs": "This product will only be available for these eggs",
|
||||
"Will hide this option from being selected": "Will hide this option from being selected",
|
||||
"Link your products to nodes and eggs to create dynamic pricing for each option": "Link your products to nodes and eggs to create dynamic pricing for each option",
|
||||
"Setting to -1 will use the value from configuration.": "Setting to -1 will use the value from configuration.",
|
||||
"This is what the users sees": "This is what the users sees",
|
||||
"Edit": "Edit",
|
||||
|
||||
"Price": "Price",
|
||||
"Are you sure you wish to delete?": "Are you sure you wish to delete?",
|
||||
"Create new": "Create new",
|
||||
"Show": "Show",
|
||||
"Active": "Active",
|
||||
"Product": "Product",
|
||||
"CPU": "CPU",
|
||||
"Updated at": "Updated at",
|
||||
"Config": "Config",
|
||||
"Suspended at": "Suspended at",
|
||||
|
||||
"Settings": "Settings",
|
||||
"Dashboard icons": "Dashboard icons",
|
||||
"Invoice Settings": "Invoice Settings",
|
||||
"Select panel icon": "Select panel icon",
|
||||
"Select panel favicon": "Select panel favicon",
|
||||
|
||||
"Token": "Token",
|
||||
"Last used": "Last used",
|
||||
|
||||
"Download all Invoices": "Download all Invoices",
|
||||
"Enter your companys name": "Enter your companys name",
|
||||
"Enter your companys address": "Enter your companys address",
|
||||
"Enter your companys phone number": "Enter your companys phone number",
|
||||
"Enter your companys VAT id": "Enter your companys VAT id",
|
||||
"Enter your companys email address": "Enter your companys email address",
|
||||
"Enter your companys website": "Enter your companys website",
|
||||
"Enter your custom invoice prefix": "Enter your custom invoice prefix",
|
||||
"Logo": "Logo",
|
||||
"Select Invoice Logo": "Select Invoice Logo",
|
||||
"Store": "Store",
|
||||
"Currency code": "Currency code",
|
||||
"Checkout the paypal docs to select the appropriate code": "Checkout the paypal docs to select the appropriate code",
|
||||
|
@ -102,110 +168,98 @@
|
|||
"Amount given to the user after purchasing": "Amount given to the user after purchasing",
|
||||
"Display": "Display",
|
||||
"This is what the user sees at store and checkout": "This is what the user sees at store and checkout",
|
||||
"This is what the user sees at checkout": "This is what the user sees at checkout",
|
||||
"Adds 1000 credits to your account": "Adds 1000 credits to your account",
|
||||
|
||||
"Active": "Active",
|
||||
"This is what the user sees at checkout": "This is what the user sees at checkout",
|
||||
"Paypal is not configured.": "Paypal is not configured.",
|
||||
"To configure PayPal, head to the .env and add your PayPal’s client id and secret.": "To configure PayPal, head to the .env and add your PayPal’s client id and secret.",
|
||||
|
||||
"Useful Links": "Useful Links",
|
||||
"Icon class name": "Icon class name",
|
||||
"You can find available free icons": "You can find available free icons",
|
||||
"Title": "Title",
|
||||
"Link": "Link",
|
||||
|
||||
"description": "description",
|
||||
"Icon": "Icon",
|
||||
"Username": "Username",
|
||||
"Email": "Email",
|
||||
"Pterodactly ID": "Pterodactly ID",
|
||||
"Pterodactyl ID": "Pterodactyl ID",
|
||||
"This ID refers to the user account created on pterodactyls panel.": "This ID refers to the user account created on pterodactyls panel.",
|
||||
"Only edit this if you know what youre doing :)": "Only edit this if you know what youre doing :)",
|
||||
"Server Limit": "Server Limit",
|
||||
"Role": "Role",
|
||||
"Administrator": "Administrator",
|
||||
" Administrator": " Administrator",
|
||||
"Client": "Client",
|
||||
"Member": "Member",
|
||||
"New Password": "New Password",
|
||||
"Confirm Password": "Confirm Password",
|
||||
"This ID refers to the user account created on pterodactyls panel.": "This ID refers to the user account created on pterodactyls panel.",
|
||||
"Only edit this if you know what youre doing :)": "Only edit this if you know what youre doing :)",
|
||||
|
||||
"Notify": "Notify",
|
||||
"Avatar": "Avatar",
|
||||
"Verified": "Verified",
|
||||
"Last seen": "Last seen",
|
||||
"Notify": "Notify",
|
||||
|
||||
"Notifications": "Notifications",
|
||||
"All": "All",
|
||||
"Send via": "Send via",
|
||||
"Database": "Database",
|
||||
"Content": "Content",
|
||||
"Notifications": "Notifications",
|
||||
|
||||
"Server limit": "Server limit",
|
||||
"Discord": "Discord",
|
||||
"Usage": "Usage",
|
||||
|
||||
"Config": "Config",
|
||||
|
||||
"IP": "IP",
|
||||
"Vouchers": "Vouchers",
|
||||
"Voucher details": "Voucher details",
|
||||
"Memo": "Memo",
|
||||
"Summer break voucher": "Summer break voucher",
|
||||
"Code": "Code",
|
||||
"Uses": "Uses",
|
||||
"Expires at": "Expires at",
|
||||
"Max": "Max",
|
||||
"Random": "Random",
|
||||
|
||||
"Status": "Status",
|
||||
"Uses": "Uses",
|
||||
"A voucher can only be used one time per user. Uses specifies the number of different users that can use this voucher.": "A voucher can only be used one time per user. Uses specifies the number of different users that can use this voucher.",
|
||||
"Max": "Max",
|
||||
"Expires at": "Expires at",
|
||||
"Used / Uses": "Used / Uses",
|
||||
"Expires": "Expires",
|
||||
|
||||
"Please confirm your password before continuing.": "Please confirm your password before continuing.",
|
||||
"Password": "Password",
|
||||
"Forgot Your Password?": "Forgot Your Password?",
|
||||
"Sign in to start your session": "Sign in to start your session",
|
||||
"Password": "Password",
|
||||
"Remember Me": "Remember Me",
|
||||
"Sign In": "Sign In",
|
||||
"Forgot Your Password?": "Forgot Your Password?",
|
||||
"Register a new membership": "Register a new membership",
|
||||
"Please confirm your password before continuing.": "Please confirm your password before continuing.",
|
||||
"You forgot your password? Here you can easily retrieve a new password.": "You forgot your password? Here you can easily retrieve a new password.",
|
||||
"Request new password": "Request new password",
|
||||
"Login": "Login",
|
||||
"You are only one step a way from your new password, recover your password now.":"You are only one step a way from your new password, recover your password now.",
|
||||
"You are only one step a way from your new password, recover your password now.": "You are only one step a way from your new password, recover your password now.",
|
||||
"Retype password": "Retype password",
|
||||
"Change password": "Change password",
|
||||
"I already have a membership": "I already have a membership",
|
||||
"Register": "Register",
|
||||
"I already have a membership": "I already have a membership",
|
||||
"Verify Your Email Address": "Verify Your Email Address",
|
||||
"A fresh verification link has been sent to your email address.": "A fresh verification link has been sent to your email address.",
|
||||
"Before proceeding, please check your email for a verification link.": "Before proceeding, please check your email for a verification link.",
|
||||
"If you did not receive the email": "If you did not receive the email",
|
||||
"click here to request another": "click here to request another",
|
||||
|
||||
"per month": "per month",
|
||||
"Out of Credits in": "Out of Credits in",
|
||||
"Home": "Home",
|
||||
"Languages": "Languages",
|
||||
"See all Notifications": "See all Notifications",
|
||||
"Redeem code": "Redeem code",
|
||||
"Profile": "Profile",
|
||||
"Log back in": "Log back in",
|
||||
"Logout": "Logout",
|
||||
"Administration": "Administration",
|
||||
"Overview": "Overview",
|
||||
"Application API": "Application API",
|
||||
"Management": "Management",
|
||||
"Other": "Other",
|
||||
"Logs": "Logs",
|
||||
"Redeem code": "Redeem code",
|
||||
|
||||
"Warning!": "Warning!",
|
||||
"You have not yet verified your email address": "You have not yet verified your email address",
|
||||
"Click here to resend verification email": "Click here to resend verification email",
|
||||
"Please contact support If you didnt receive your verification email.": "Please contact support If you didnt receive your verification email.",
|
||||
|
||||
"Thank you for your purchase!": "Thank you for your purchase!",
|
||||
"Your payment has been confirmed; Your credit balance has been updated.": "Your payment has been confirmed; Your credit balance has been updated.",
|
||||
|
||||
"Payment ID": "Payment ID",
|
||||
"Balance": "Balance",
|
||||
"User ID": "User ID",
|
||||
"Thanks": "Thanks",
|
||||
|
||||
"Redeem voucher code": "Redeem voucher code",
|
||||
"Close": "Close",
|
||||
"Redeem": "Redeem",
|
||||
|
||||
"All notifications": "All notifications",
|
||||
|
||||
"Required Email verification!": "Required Email verification!",
|
||||
"Required Discord verification!": "Required Discord verification!",
|
||||
"You have not yet verified your discord account": "You have not yet verified your discord account",
|
||||
|
@ -213,13 +267,14 @@
|
|||
"Please contact support If you face any issues.": "Please contact support If you face any issues.",
|
||||
"Due to system settings you are required to verify your discord account!": "Due to system settings you are required to verify your discord account!",
|
||||
"It looks like this hasnt been set-up correctly! Please contact support.": "It looks like this hasnt been set-up correctly! Please contact support.",
|
||||
|
||||
"Change Password": "Change Password",
|
||||
"Current Password": "Current Password",
|
||||
"Save Changes": "Save Changes",
|
||||
"Re-Sync Discord": "Re-Sync Discord",
|
||||
"You are verified!": "You are verified!",
|
||||
"Link your discord account!": "Link your discord account!",
|
||||
"By verifying your discord account, you receive extra Credits and increased Server amounts": "By verifying your discord account, you receive extra Credits and increased Server amounts",
|
||||
"Login with Discord": "Login with Discord",
|
||||
"You are verified!": "You are verified!",
|
||||
"Re-Sync Discord": "Re-Sync Discord",
|
||||
"Save Changes": "Save Changes",
|
||||
"Server configuration": "Server configuration",
|
||||
"Error!": "Error!",
|
||||
"Make sure to link your products to nodes and eggs.": "Make sure to link your products to nodes and eggs.",
|
||||
|
@ -230,142 +285,88 @@
|
|||
"No eggs have been linked!": "No eggs have been linked!",
|
||||
"Software / Games": "Software / Games",
|
||||
"Please select software ...": "Please select software ...",
|
||||
"Specification": "Specification",
|
||||
"No selection": "No selection",
|
||||
"per month": "per month",
|
||||
"Not enough credits!": "Not enough credits!",
|
||||
"Not enough" : "Not enough",
|
||||
"Please select a configuration ...": "Please select a configuration ...",
|
||||
"No resources found matching current configuration": "No resources found matching current configuration",
|
||||
"No nodes found matching current configuration": "No nodes found matching current configuration",
|
||||
"Please select a node ...": "Please select a node ...",
|
||||
"---": "---",
|
||||
"Specification ": "Specification ",
|
||||
"Node": "Node",
|
||||
"Resource Data:": "Resource Data:",
|
||||
"MB": "MB",
|
||||
"MySQL": "MySQL",
|
||||
"ports": "ports",
|
||||
"Not enough": "Not enough",
|
||||
"Create server": "Create server",
|
||||
"Use your servers on our": "Use your servers on our",
|
||||
"pterodactyl panel": "pterodactyl panel",
|
||||
"Server limit reached!": "Server limit reached!",
|
||||
"Please select a node ...": "Please select a node ...",
|
||||
"No nodes found matching current configuration": "No nodes found matching current configuration",
|
||||
"Please select a resource ...": "Please select a resource ...",
|
||||
"No resources found matching current configuration": "No resources found matching current configuration",
|
||||
"Please select a configuration ...": "Please select a configuration ...",
|
||||
"Not enough credits!": "Not enough credits!",
|
||||
"Create Server": "Create Server",
|
||||
"Location": "Location",
|
||||
"Software": "Software",
|
||||
"Specification": "Specification",
|
||||
"Resource plan": "Resource plan",
|
||||
"per Hour": "per Hour",
|
||||
"per Month": "per Month",
|
||||
"Manage": "Manage",
|
||||
"Delete server": "Delete server",
|
||||
"Price per Hour": "Price per Hour",
|
||||
"Price per Month": "Price per Month",
|
||||
|
||||
"Are you sure?": "Are you sure?",
|
||||
"This is an irreversible action, all files of this server will be removed.": "This is an irreversible action, all files of this server will be removed.",
|
||||
"Yes, delete it!": "Yes, delete it!",
|
||||
"No, cancel!": "No, cancel!",
|
||||
"Canceled ...": "Canceled ...",
|
||||
"Deletion has been canceled.": "Deletion has been canceled.",
|
||||
"Date": "Date",
|
||||
"To": "To",
|
||||
"From": "From",
|
||||
"Pending": "Pending",
|
||||
"Subtotal": "Subtotal",
|
||||
"Submit Payment": "Submit Payment",
|
||||
"Payment Methods": "Payment Methods",
|
||||
"By purchasing this product you agree and accept our terms of service": "By purchasing this product you agree and accept our terms of service",
|
||||
"Amount due": "Amount due",
|
||||
"Submit Payment": "Submit Payment",
|
||||
"Purchase": "Purchase",
|
||||
"There are no store products!": "There are no store products!",
|
||||
"The store is not correctly configured!": "The store is not correctly configured!",
|
||||
"Out of Credits in": "Out of Credits in",
|
||||
|
||||
"days": "days",
|
||||
"hours": "hours",
|
||||
"You ran out of Credits": "You ran out of Credits",
|
||||
|
||||
"Profile updated": "Profile updated",
|
||||
|
||||
"You are required to verify your email address before you can create a server.": "You are required to verify your email address before you can create a server.",
|
||||
"You are required to link your discord account before you can create a server.": "You are required to link your discord account before you can create a server.",
|
||||
"No allocations satisfying the requirements for automatic deployment on this node were found.": "No allocations satisfying the requirements for automatic deployment on this node were found.",
|
||||
"Server removed": "Server removed",
|
||||
"Server created": "Server created",
|
||||
"An exception has occurred while trying to remove a resource \"": "An exception has occurred while trying to remove a resource \"",
|
||||
"You are required to verify your email address before you can purchase credits.": "You are required to verify your email address before you can purchase credits.",
|
||||
"You are required to link your discord account before you can purchase ": "You are required to link your discord account before you can purchase ",
|
||||
|
||||
"Warning!": "Warning!",
|
||||
|
||||
"api key created!": "api key created!",
|
||||
"api key updated!": "api key updated!",
|
||||
"api key has been removed!": "api key has been removed!",
|
||||
"configuration has been updated!": "configuration has been updated!",
|
||||
"Pterodactyl synced": "Pterodactyl synced",
|
||||
"Your credit balance has been increased!": "Your credit balance has been increased!",
|
||||
"Payment was Canceled": "Payment was Canceled",
|
||||
|
||||
"Store item has been created!": "Store item has been created!",
|
||||
"Store item has been updated!": "Store item has been updated!",
|
||||
"Product has been updated!": "Product has been updated!",
|
||||
"Store item has been removed!": "Store item has been removed!",
|
||||
"Product has been created!": "Product has been created!",
|
||||
"Product has been removed!": "Product has been removed!",
|
||||
"Server has been updated!": "Server has been updated!",
|
||||
"Icons updated!": "Icons updated!",
|
||||
"link has been created!": "link has been created!",
|
||||
"link has been updated!": "link has been updated!",
|
||||
"user has been removed!": "user has been removed!",
|
||||
"Notification sent!": "Notification sent!",
|
||||
"User has been updated!": "User has been updated!",
|
||||
"User does not exists on pterodactyl's panel": "User does not exists on pterodactyl's panel",
|
||||
"voucher has been created!": "voucher has been created!",
|
||||
"voucher has been updated!": "voucher has been updated!",
|
||||
"voucher has been removed!": "voucher has been removed!",
|
||||
"This voucher has reached the maximum amount of uses": "This voucher has reached the maximum amount of uses",
|
||||
"This voucher has expired": "This voucher has expired",
|
||||
"You already redeemed this voucher code": "You already redeemed this voucher code",
|
||||
"You can't redeem this voucher because you would exceed the limit of ": "You can't redeem this voucher because you would exceed the limit of ",
|
||||
"have been added to your balance!": "have been added to your balance!",
|
||||
"Invoice": "Invoice",
|
||||
"Serial No.": "Serial No.",
|
||||
"Invoice date": "Invoice date",
|
||||
"Seller": "Seller",
|
||||
"Buyer": "Buyer",
|
||||
"Address": "Address",
|
||||
"VAT code": "VAT code",
|
||||
"VAT Code": "VAT Code",
|
||||
"Phone": "Phone",
|
||||
"Units": "Units",
|
||||
"Qty": "Qty",
|
||||
"Discount": "Discount",
|
||||
"Sub total": "Sub total",
|
||||
"Total discount": "Total discount",
|
||||
"Taxable amount": "Taxable amount",
|
||||
"Total taxes": "Total taxes",
|
||||
"Tax rate": "Tax rate",
|
||||
"Total amount": "Total amount",
|
||||
"Please pay until": "Please pay until",
|
||||
"Amount in words": "Amount in words",
|
||||
"Notes": "Notes",
|
||||
"Total taxes": "Total taxes",
|
||||
"Shipping": "Shipping",
|
||||
"Paid": "Paid",
|
||||
"Due:": "Due:",
|
||||
"Invoice Settings": "Invoice Settings",
|
||||
"Download all Invoices": "Download all Invoices",
|
||||
"Enter your companys name": "Enter your companys name",
|
||||
"Enter your companys address": "Enter your companys address",
|
||||
"Enter your companys phone number": "Enter your companys phone number",
|
||||
"Enter your companys VAT id": "Enter your companys VAT id",
|
||||
"Enter your companys email address": "Enter your companys email address",
|
||||
"Enter your companys website": "Enter your companys website",
|
||||
"Enter your custom invoice prefix": "Enter your custom invoice prefix",
|
||||
"Select Invoice Logo": "Select Invoice Logo",
|
||||
|
||||
"Payment Confirmation": "Payment Confirmation",
|
||||
"Payment Confirmed!": "Payment Confirmed!",
|
||||
"Server Creation Error": "Server Creation Error",
|
||||
"Your servers have been suspended!": "Your servers have been suspended!",
|
||||
"To automatically re-enable your server/s, you need to purchase more credits.": "To automatically re-enable your server/s, you need to purchase more credits.",
|
||||
"Purchase credits": "Purchase credits",
|
||||
"If you have any questions please let us know.": "If you have any questions please let us know.",
|
||||
"Regards": "Regards",
|
||||
|
||||
"Getting started!": "Getting started!",
|
||||
"EXPIRED": "EXPIRED",
|
||||
"VALID": "VALID",
|
||||
|
||||
"Unsuspend": "Unsuspend",
|
||||
"Suspend": "Suspend",
|
||||
"Delete": "Delete",
|
||||
"Login as User": "Login as User",
|
||||
"Clone": "Clone",
|
||||
|
||||
"Amount due": "Amount due",
|
||||
|
||||
"Your Payment was successful!": "Your Payment was successful!",
|
||||
"Hello":"Hello",
|
||||
"Your payment was processed successfully!":"Your payment was processed successfully!"
|
||||
|
||||
"Total amount": "Total amount",
|
||||
"Notes": "Notes",
|
||||
"Amount in words": "Amount in words",
|
||||
"Please pay until": "Please pay until",
|
||||
|
||||
"invoices::invoice.serial": "invoices::invoice.serial",
|
||||
"invoices::invoice.date": "invoices::invoice.date",
|
||||
"invoices::invoice.seller": "invoices::invoice.seller",
|
||||
"invoices::invoice.buyer": "invoices::invoice.buyer",
|
||||
"invoices::invoice.address": "invoices::invoice.address",
|
||||
"invoices::invoice.code": "invoices::invoice.code",
|
||||
"invoices::invoice.vat": "invoices::invoice.vat",
|
||||
"invoices::invoice.phone": "invoices::invoice.phone",
|
||||
"invoices::invoice.description": "invoices::invoice.description",
|
||||
"invoices::invoice.units": "invoices::invoice.units",
|
||||
"invoices::invoice.quantity": "invoices::invoice.quantity",
|
||||
"invoices::invoice.price": "invoices::invoice.price",
|
||||
"invoices::invoice.discount": "invoices::invoice.discount",
|
||||
"invoices::invoice.tax": "invoices::invoice.tax",
|
||||
"invoices::invoice.sub_total": "invoices::invoice.sub_total",
|
||||
"invoices::invoice.total_discount": "invoices::invoice.total_discount",
|
||||
"invoices::invoice.taxable_amount": "invoices::invoice.taxable_amount",
|
||||
"invoices::invoice.tax_rate": "invoices::invoice.tax_rate",
|
||||
"invoices::invoice.total_taxes": "invoices::invoice.total_taxes",
|
||||
"invoices::invoice.shipping": "invoices::invoice.shipping",
|
||||
"invoices::invoice.total_amount": "invoices::invoice.total_amount",
|
||||
"invoices::invoice.notes": "invoices::invoice.notes",
|
||||
"invoices::invoice.amount_in_words": "invoices::invoice.amount_in_words",
|
||||
"invoices::invoice.pay_until": "invoices::invoice.pay_until"
|
||||
}
|
||||
|
|
|
@ -1,301 +1,324 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{{ $invoice->name }}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
<head>
|
||||
<title>{{ $invoice->name }}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 10px;
|
||||
margin: 36pt;
|
||||
}
|
||||
<style type="text/css" media="screen">
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 10px;
|
||||
margin: 36pt;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
h4, .h4 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
h4, .h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
h4,
|
||||
.h4 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
color: #212529;
|
||||
}
|
||||
h4,
|
||||
.h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 0.75rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
.table.table-items td {
|
||||
border-top: 1px solid #dee2e6;
|
||||
}
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 0.75rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #dee2e6;
|
||||
}
|
||||
.table.table-items td {
|
||||
border-top: 1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.mt-5 {
|
||||
margin-top: 3rem !important;
|
||||
}
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #dee2e6;
|
||||
}
|
||||
|
||||
.pr-0,
|
||||
.px-0 {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.mt-5 {
|
||||
margin-top: 3rem !important;
|
||||
}
|
||||
|
||||
.pl-0,
|
||||
.px-0 {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
.pr-0,
|
||||
.px-0 {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
.pl-0,
|
||||
.px-0 {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
.text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
.text-uppercase {
|
||||
text-transform: uppercase !important;
|
||||
}
|
||||
* {
|
||||
font-family: "DejaVu Sans";
|
||||
}
|
||||
body, h1, h2, h3, h4, h5, h6, table, th, tr, td, p, div {
|
||||
line-height: 1.1;
|
||||
}
|
||||
.party-header {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.total-amount {
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.border-0 {
|
||||
border: none !important;
|
||||
}
|
||||
.cool-gray {
|
||||
color: #6B7280;
|
||||
}
|
||||
.cool-green {
|
||||
color: #308d00;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
.text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
<body>
|
||||
{{-- Header --}}
|
||||
@if($invoice->logo)
|
||||
<img src="{{ $invoice->getLogo() }}" alt="logo" height="100">
|
||||
@endif
|
||||
.text-uppercase {
|
||||
text-transform: uppercase !important;
|
||||
}
|
||||
|
||||
<table class="table mt-5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="border-0 pl-0" width="70%">
|
||||
<h4 class="text-uppercase">
|
||||
<strong>{{ $invoice->name }} {{$invoice->getSerialNumber()}}</strong>
|
||||
* {
|
||||
font-family: "DejaVu Sans";
|
||||
}
|
||||
|
||||
body,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
table,
|
||||
th,
|
||||
tr,
|
||||
td,
|
||||
p,
|
||||
div {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
.party-header {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.total-amount {
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.border-0 {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.cool-gray {
|
||||
color: #6B7280;
|
||||
}
|
||||
|
||||
.cool-green {
|
||||
color: #308d00;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{-- Header --}}
|
||||
@if ($invoice->logo)
|
||||
<img src="{{ $invoice->getLogo() }}" alt="logo" height="100">
|
||||
@endif
|
||||
|
||||
<table class="table mt-5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="border-0 pl-0" width="70%">
|
||||
<h4 class="text-uppercase">
|
||||
<strong>{{ $invoice->name }} {{ $invoice->getSerialNumber() }}</strong>
|
||||
</h4>
|
||||
</td>
|
||||
<td class="border-0 pl-0">
|
||||
@if ($invoice->status)
|
||||
<h4 class="text-uppercase cool-green">
|
||||
<strong>{{ $invoice->status }}</strong>
|
||||
</h4>
|
||||
</td>
|
||||
<td class="border-0 pl-0">
|
||||
@if($invoice->status)
|
||||
<h4 class="text-uppercase cool-green">
|
||||
<strong>{{ $invoice->status }}</strong>
|
||||
</h4>
|
||||
@endif
|
||||
<p>{{ __('Serial No.') }} <strong>{{ $invoice->getSerialNumber() }}</strong></p>
|
||||
<p>{{ __('Invoice date') }}: <strong>{{ $invoice->getDate() }}</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Seller - Buyer --}}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-0 pl-0 party-header" width="48.5%">
|
||||
{{ __('Seller') }}
|
||||
</th>
|
||||
<th class="border-0" width="3%"></th>
|
||||
<th class="border-0 pl-0 party-header">
|
||||
{{ __('Buyer') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="px-0">
|
||||
@if($invoice->seller->name)
|
||||
<p class="seller-name">
|
||||
<strong>{{ $invoice->seller->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->address)
|
||||
<p class="seller-address">
|
||||
{{ __('Address') }}: {{ $invoice->seller->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->code)
|
||||
<p class="seller-code">
|
||||
{{ __('Code') }}: {{ $invoice->seller->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->vat)
|
||||
<p class="seller-vat">
|
||||
{{ __('VAT Code') }}: {{ $invoice->seller->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->phone)
|
||||
<p class="seller-phone">
|
||||
{{ __('Phone') }}: {{ $invoice->seller->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach($invoice->seller->custom_fields as $key => $value)
|
||||
<p class="seller-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
<td class="border-0"></td>
|
||||
<td class="px-0">
|
||||
@if($invoice->buyer->name)
|
||||
<p class="buyer-name">
|
||||
<strong>{{ $invoice->buyer->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->adress)
|
||||
<p class="buyer-address">
|
||||
{{ __('Address') }}: {{ $invoice->buyer->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->code)
|
||||
<p class="buyer-code">
|
||||
{{ __('Code') }}: {{ $invoice->buyer->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->vat)
|
||||
<p class="buyer-vat">
|
||||
{{ __('VAT Code') }}: {{ $invoice->buyer->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->phone)
|
||||
<p class="buyer-phone">
|
||||
{{ __('Phone') }}: {{ $invoice->buyer->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach($invoice->buyer->custom_fields as $key => $value)
|
||||
<p class="buyer-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Table --}}
|
||||
<table class="table table-items">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="border-0 pl-0">{{ __('Description') }}</th>
|
||||
@if($invoice->hasItemUnits)
|
||||
<th scope="col" class="text-center border-0">{{ __('Units') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-center border-0">{{ __('Quantity') }}</th>
|
||||
<th scope="col" class="text-right border-0">{{ __('Price') }}</th>
|
||||
@if($invoice->hasItemDiscount)
|
||||
<th scope="col" class="text-right border-0">{{ __('Discount') }}</th>
|
||||
<p>{{ __('Serial No.') }} <strong>{{ $invoice->getSerialNumber() }}</strong></p>
|
||||
<p>{{ __('Invoice date') }}: <strong>{{ $invoice->getDate() }}</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Seller - Buyer --}}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-0 pl-0 party-header" width="48.5%">
|
||||
{{ __('Seller') }}
|
||||
</th>
|
||||
<th class="border-0" width="3%"></th>
|
||||
<th class="border-0 pl-0 party-header">
|
||||
{{ __('Buyer') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="px-0">
|
||||
@if ($invoice->seller->name)
|
||||
<p class="seller-name">
|
||||
<strong>{{ $invoice->seller->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
@if($invoice->hasItemTax)
|
||||
<th scope="col" class="text-right border-0">{{ __('Tax') }}</th>
|
||||
|
||||
@if ($invoice->seller->address)
|
||||
<p class="seller-address">
|
||||
{{ __('Address') }}: {{ $invoice->seller->address }}
|
||||
</p>
|
||||
@endif
|
||||
<th scope="col" class="text-right border-0 pr-0">{{ __('Subtotal') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{-- Items --}}
|
||||
@foreach($invoice->items as $item)
|
||||
|
||||
@if ($invoice->seller->code)
|
||||
<p class="seller-code">
|
||||
{{ __('Code') }}: {{ $invoice->seller->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->seller->vat)
|
||||
<p class="seller-vat">
|
||||
{{ __('VAT Code') }}: {{ $invoice->seller->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->seller->phone)
|
||||
<p class="seller-phone">
|
||||
{{ __('Phone') }}: {{ $invoice->seller->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach ($invoice->seller->custom_fields as $key => $value)
|
||||
<p class="seller-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
<td class="border-0"></td>
|
||||
<td class="px-0">
|
||||
@if ($invoice->buyer->name)
|
||||
<p class="buyer-name">
|
||||
<strong>{{ $invoice->buyer->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->adress)
|
||||
<p class="buyer-address">
|
||||
{{ __('Address') }}: {{ $invoice->buyer->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->code)
|
||||
<p class="buyer-code">
|
||||
{{ __('Code') }}: {{ $invoice->buyer->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->vat)
|
||||
<p class="buyer-vat">
|
||||
{{ __('VAT Code') }}: {{ $invoice->buyer->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->phone)
|
||||
<p class="buyer-phone">
|
||||
{{ __('Phone') }}: {{ $invoice->buyer->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach ($invoice->buyer->custom_fields as $key => $value)
|
||||
<p class="buyer-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Table --}}
|
||||
<table class="table table-items">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="border-0 pl-0">{{ __('Description') }}</th>
|
||||
@if ($invoice->hasItemUnits)
|
||||
<th scope="col" class="text-center border-0">{{ __('Units') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-center border-0">{{ __('Quantity') }}</th>
|
||||
<th scope="col" class="text-right border-0">{{ __('Price') }}</th>
|
||||
@if ($invoice->hasItemDiscount)
|
||||
<th scope="col" class="text-right border-0">{{ __('Discount') }}</th>
|
||||
@endif
|
||||
@if ($invoice->hasItemTax)
|
||||
<th scope="col" class="text-right border-0">{{ __('Tax') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-right border-0 pr-0">{{ __('Subtotal') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{-- Items --}}
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td class="pl-0">
|
||||
{{ $item->title }}
|
||||
|
||||
@if($item->description)
|
||||
@if ($item->description)
|
||||
<p class="cool-gray">{{ $item->description }}</p>
|
||||
@endif
|
||||
</td>
|
||||
@if($invoice->hasItemUnits)
|
||||
@if ($invoice->hasItemUnits)
|
||||
<td class="text-center">{{ $item->units }}</td>
|
||||
@endif
|
||||
<td class="text-center">{{ $item->quantity }}</td>
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->price_per_unit) }}
|
||||
</td>
|
||||
@if($invoice->hasItemDiscount)
|
||||
@if ($invoice->hasItemDiscount)
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->discount) }}
|
||||
</td>
|
||||
@endif
|
||||
@if($invoice->hasItemTax)
|
||||
@if ($invoice->hasItemTax)
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->tax) }}
|
||||
</td>
|
||||
|
@ -305,86 +328,87 @@
|
|||
{{ $invoice->formatCurrency($item->sub_total_price) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
{{-- Summary --}}
|
||||
@if($invoice->hasItemOrInvoiceDiscount())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total discount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_discount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->taxable_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Taxable amount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->taxable_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->tax_rate)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Tax rate') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->tax_rate }}%
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->hasItemOrInvoiceTax())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total taxes') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_taxes) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->shipping_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Shipping') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->shipping_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total amount') }}</td>
|
||||
<td class="text-right pr-0 total-amount">
|
||||
{{ $invoice->formatCurrency($invoice->total_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@if($invoice->notes)
|
||||
<p>
|
||||
{{ trans('Notes') }}: {!! $invoice->notes !!}
|
||||
</p>
|
||||
@endif
|
||||
@endforeach
|
||||
{{-- Summary --}}
|
||||
@if ($invoice->hasItemOrInvoiceDiscount())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total discount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_discount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->taxable_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Taxable amount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->taxable_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->tax_rate)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Tax rate') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->tax_rate }}%
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->hasItemOrInvoiceTax())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total taxes') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_taxes) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->shipping_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Shipping') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->shipping_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('Total amount') }}</td>
|
||||
<td class="text-right pr-0 total-amount">
|
||||
{{ $invoice->formatCurrency($invoice->total_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@if ($invoice->notes)
|
||||
<p>
|
||||
{{ trans('Amount in words') }}: {{ $invoice->getTotalAmountInWords() }}
|
||||
</p>
|
||||
<p>
|
||||
{{ trans('Please pay until') }}: {{ $invoice->getPayUntilDate() }}
|
||||
{{ __('Notes') }}: {!! $invoice->notes !!}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
<p>
|
||||
{{ __('Amount in words') }}: {{ $invoice->getTotalAmountInWords() }}
|
||||
</p>
|
||||
<p>
|
||||
{{ __('Please pay until') }}: {{ $invoice->getPayUntilDate() }}
|
||||
</p>
|
||||
|
||||
<script type="text/php">
|
||||
if (isset($pdf) && $PAGE_COUNT > 1) {
|
||||
$text = "Page {PAGE_NUM} / {PAGE_COUNT}";
|
||||
$size = 10;
|
||||
$font = $fontMetrics->getFont("Verdana");
|
||||
$width = $fontMetrics->get_text_width($text, $font, $size) / 2;
|
||||
$x = ($pdf->get_width() - $width);
|
||||
$y = $pdf->get_height() - 35;
|
||||
$pdf->page_text($x, $y, $text, $font, $size);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
<script type="text/php">
|
||||
if (isset($pdf) && $PAGE_COUNT > 1) {
|
||||
$text = "Page {PAGE_NUM} / {PAGE_COUNT}";
|
||||
$size = 10;
|
||||
$font = $fontMetrics->getFont("Verdana");
|
||||
$width = $fontMetrics->get_text_width($text, $font, $size) / 2;
|
||||
$x = ($pdf->get_width() - $width);
|
||||
$y = $pdf->get_height() - 35;
|
||||
$pdf->page_text($x, $y, $text, $font, $size);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,301 +1,324 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{{ $invoice->name }}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
<head>
|
||||
<title>{{ $invoice->name }}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 10px;
|
||||
margin: 36pt;
|
||||
}
|
||||
<style type="text/css" media="screen">
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 10px;
|
||||
margin: 36pt;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
h4, .h4 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
h4, .h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
h4,
|
||||
.h4 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
color: #212529;
|
||||
}
|
||||
h4,
|
||||
.h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 0.75rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
.table.table-items td {
|
||||
border-top: 1px solid #dee2e6;
|
||||
}
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 0.75rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #dee2e6;
|
||||
}
|
||||
.table.table-items td {
|
||||
border-top: 1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.mt-5 {
|
||||
margin-top: 3rem !important;
|
||||
}
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #dee2e6;
|
||||
}
|
||||
|
||||
.pr-0,
|
||||
.px-0 {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.mt-5 {
|
||||
margin-top: 3rem !important;
|
||||
}
|
||||
|
||||
.pl-0,
|
||||
.px-0 {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
.pr-0,
|
||||
.px-0 {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
.pl-0,
|
||||
.px-0 {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
.text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
.text-uppercase {
|
||||
text-transform: uppercase !important;
|
||||
}
|
||||
* {
|
||||
font-family: "DejaVu Sans";
|
||||
}
|
||||
body, h1, h2, h3, h4, h5, h6, table, th, tr, td, p, div {
|
||||
line-height: 1.1;
|
||||
}
|
||||
.party-header {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.total-amount {
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.border-0 {
|
||||
border: none !important;
|
||||
}
|
||||
.cool-gray {
|
||||
color: #6B7280;
|
||||
}
|
||||
.cool-green {
|
||||
color: #308d00;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
.text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
<body>
|
||||
{{-- Header --}}
|
||||
@if($invoice->logo)
|
||||
<img src="{{ $invoice->getLogo() }}" alt="logo" height="100">
|
||||
@endif
|
||||
.text-uppercase {
|
||||
text-transform: uppercase !important;
|
||||
}
|
||||
|
||||
<table class="table mt-5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="border-0 pl-0" width="70%">
|
||||
<h4 class="text-uppercase">
|
||||
<strong>{{ $invoice->name }} {{$invoice->getSerialNumber()}}</strong>
|
||||
* {
|
||||
font-family: "DejaVu Sans";
|
||||
}
|
||||
|
||||
body,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
table,
|
||||
th,
|
||||
tr,
|
||||
td,
|
||||
p,
|
||||
div {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
.party-header {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.total-amount {
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.border-0 {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.cool-gray {
|
||||
color: #6B7280;
|
||||
}
|
||||
|
||||
.cool-green {
|
||||
color: #308d00;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{-- Header --}}
|
||||
@if ($invoice->logo)
|
||||
<img src="{{ $invoice->getLogo() }}" alt="logo" height="100">
|
||||
@endif
|
||||
|
||||
<table class="table mt-5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="border-0 pl-0" width="70%">
|
||||
<h4 class="text-uppercase">
|
||||
<strong>{{ $invoice->name }} {{ $invoice->getSerialNumber() }}</strong>
|
||||
</h4>
|
||||
</td>
|
||||
<td class="border-0 pl-0">
|
||||
@if ($invoice->status)
|
||||
<h4 class="text-uppercase cool-green">
|
||||
<strong>{{ $invoice->status }}</strong>
|
||||
</h4>
|
||||
</td>
|
||||
<td class="border-0 pl-0">
|
||||
@if($invoice->status)
|
||||
<h4 class="text-uppercase cool-green">
|
||||
<strong>{{ $invoice->status }}</strong>
|
||||
</h4>
|
||||
@endif
|
||||
<p>{{ __('invoices::invoice.serial') }} <strong>{{ $invoice->getSerialNumber() }}</strong></p>
|
||||
<p>{{ __('invoices::invoice.date') }}: <strong>{{ $invoice->getDate() }}</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Seller - Buyer --}}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-0 pl-0 party-header" width="48.5%">
|
||||
{{ __('invoices::invoice.seller') }}
|
||||
</th>
|
||||
<th class="border-0" width="3%"></th>
|
||||
<th class="border-0 pl-0 party-header">
|
||||
{{ __('invoices::invoice.buyer') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="px-0">
|
||||
@if($invoice->seller->name)
|
||||
<p class="seller-name">
|
||||
<strong>{{ $invoice->seller->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->address)
|
||||
<p class="seller-address">
|
||||
{{ __('invoices::invoice.address') }}: {{ $invoice->seller->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->code)
|
||||
<p class="seller-code">
|
||||
{{ __('invoices::invoice.code') }}: {{ $invoice->seller->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->vat)
|
||||
<p class="seller-vat">
|
||||
{{ __('invoices::invoice.vat') }}: {{ $invoice->seller->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->seller->phone)
|
||||
<p class="seller-phone">
|
||||
{{ __('invoices::invoice.phone') }}: {{ $invoice->seller->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach($invoice->seller->custom_fields as $key => $value)
|
||||
<p class="seller-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
<td class="border-0"></td>
|
||||
<td class="px-0">
|
||||
@if($invoice->buyer->name)
|
||||
<p class="buyer-name">
|
||||
<strong>{{ $invoice->buyer->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->address)
|
||||
<p class="buyer-address">
|
||||
{{ __('invoices::invoice.address') }}: {{ $invoice->buyer->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->code)
|
||||
<p class="buyer-code">
|
||||
{{ __('invoices::invoice.code') }}: {{ $invoice->buyer->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->vat)
|
||||
<p class="buyer-vat">
|
||||
{{ __('invoices::invoice.vat') }}: {{ $invoice->buyer->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if($invoice->buyer->phone)
|
||||
<p class="buyer-phone">
|
||||
{{ __('invoices::invoice.phone') }}: {{ $invoice->buyer->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach($invoice->buyer->custom_fields as $key => $value)
|
||||
<p class="buyer-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Table --}}
|
||||
<table class="table table-items">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="border-0 pl-0">{{ __('invoices::invoice.description') }}</th>
|
||||
@if($invoice->hasItemUnits)
|
||||
<th scope="col" class="text-center border-0">{{ __('invoices::invoice.units') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-center border-0">{{ __('invoices::invoice.quantity') }}</th>
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.price') }}</th>
|
||||
@if($invoice->hasItemDiscount)
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.discount') }}</th>
|
||||
<p>{{ __('invoices::invoice.serial') }} <strong>{{ $invoice->getSerialNumber() }}</strong></p>
|
||||
<p>{{ __('invoices::invoice.date') }}: <strong>{{ $invoice->getDate() }}</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Seller - Buyer --}}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-0 pl-0 party-header" width="48.5%">
|
||||
{{ __('invoices::invoice.seller') }}
|
||||
</th>
|
||||
<th class="border-0" width="3%"></th>
|
||||
<th class="border-0 pl-0 party-header">
|
||||
{{ __('invoices::invoice.buyer') }}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="px-0">
|
||||
@if ($invoice->seller->name)
|
||||
<p class="seller-name">
|
||||
<strong>{{ $invoice->seller->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
@if($invoice->hasItemTax)
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.tax') }}</th>
|
||||
|
||||
@if ($invoice->seller->address)
|
||||
<p class="seller-address">
|
||||
{{ __('invoices::invoice.address') }}: {{ $invoice->seller->address }}
|
||||
</p>
|
||||
@endif
|
||||
<th scope="col" class="text-right border-0 pr-0">{{ __('invoices::invoice.sub_total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{-- Items --}}
|
||||
@foreach($invoice->items as $item)
|
||||
|
||||
@if ($invoice->seller->code)
|
||||
<p class="seller-code">
|
||||
{{ __('invoices::invoice.code') }}: {{ $invoice->seller->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->seller->vat)
|
||||
<p class="seller-vat">
|
||||
{{ __('invoices::invoice.vat') }}: {{ $invoice->seller->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->seller->phone)
|
||||
<p class="seller-phone">
|
||||
{{ __('invoices::invoice.phone') }}: {{ $invoice->seller->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach ($invoice->seller->custom_fields as $key => $value)
|
||||
<p class="seller-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
<td class="border-0"></td>
|
||||
<td class="px-0">
|
||||
@if ($invoice->buyer->name)
|
||||
<p class="buyer-name">
|
||||
<strong>{{ $invoice->buyer->name }}</strong>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->address)
|
||||
<p class="buyer-address">
|
||||
{{ __('invoices::invoice.address') }}: {{ $invoice->buyer->address }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->code)
|
||||
<p class="buyer-code">
|
||||
{{ __('invoices::invoice.code') }}: {{ $invoice->buyer->code }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->vat)
|
||||
<p class="buyer-vat">
|
||||
{{ __('invoices::invoice.vat') }}: {{ $invoice->buyer->vat }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($invoice->buyer->phone)
|
||||
<p class="buyer-phone">
|
||||
{{ __('invoices::invoice.phone') }}: {{ $invoice->buyer->phone }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@foreach ($invoice->buyer->custom_fields as $key => $value)
|
||||
<p class="buyer-custom-field">
|
||||
{{ ucfirst($key) }}: {{ $value }}
|
||||
</p>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- Table --}}
|
||||
<table class="table table-items">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="border-0 pl-0">{{ __('invoices::invoice.description') }}</th>
|
||||
@if ($invoice->hasItemUnits)
|
||||
<th scope="col" class="text-center border-0">{{ __('invoices::invoice.units') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-center border-0">{{ __('invoices::invoice.quantity') }}</th>
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.price') }}</th>
|
||||
@if ($invoice->hasItemDiscount)
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.discount') }}</th>
|
||||
@endif
|
||||
@if ($invoice->hasItemTax)
|
||||
<th scope="col" class="text-right border-0">{{ __('invoices::invoice.tax') }}</th>
|
||||
@endif
|
||||
<th scope="col" class="text-right border-0 pr-0">{{ __('invoices::invoice.sub_total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{-- Items --}}
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td class="pl-0">
|
||||
{{ $item->title }}
|
||||
|
||||
@if($item->description)
|
||||
@if ($item->description)
|
||||
<p class="cool-gray">{{ $item->description }}</p>
|
||||
@endif
|
||||
</td>
|
||||
@if($invoice->hasItemUnits)
|
||||
@if ($invoice->hasItemUnits)
|
||||
<td class="text-center">{{ $item->units }}</td>
|
||||
@endif
|
||||
<td class="text-center">{{ $item->quantity }}</td>
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->price_per_unit) }}
|
||||
</td>
|
||||
@if($invoice->hasItemDiscount)
|
||||
@if ($invoice->hasItemDiscount)
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->discount) }}
|
||||
</td>
|
||||
@endif
|
||||
@if($invoice->hasItemTax)
|
||||
@if ($invoice->hasItemTax)
|
||||
<td class="text-right">
|
||||
{{ $invoice->formatCurrency($item->tax) }}
|
||||
</td>
|
||||
|
@ -305,86 +328,87 @@
|
|||
{{ $invoice->formatCurrency($item->sub_total_price) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
{{-- Summary --}}
|
||||
@if($invoice->hasItemOrInvoiceDiscount())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_discount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_discount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->taxable_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.taxable_amount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->taxable_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->tax_rate)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.tax_rate') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->tax_rate }}%
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->hasItemOrInvoiceTax())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_taxes') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_taxes) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($invoice->shipping_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.shipping') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->shipping_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_amount') }}</td>
|
||||
<td class="text-right pr-0 total-amount">
|
||||
{{ $invoice->formatCurrency($invoice->total_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@if($invoice->notes)
|
||||
<p>
|
||||
{{ trans('invoices::invoice.notes') }}: {!! $invoice->notes !!}
|
||||
</p>
|
||||
@endif
|
||||
@endforeach
|
||||
{{-- Summary --}}
|
||||
@if ($invoice->hasItemOrInvoiceDiscount())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_discount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_discount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->taxable_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.taxable_amount') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->taxable_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->tax_rate)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.tax_rate') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->tax_rate }}%
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->hasItemOrInvoiceTax())
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_taxes') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->total_taxes) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($invoice->shipping_amount)
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.shipping') }}</td>
|
||||
<td class="text-right pr-0">
|
||||
{{ $invoice->formatCurrency($invoice->shipping_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td colspan="{{ $invoice->table_columns - 2 }}" class="border-0"></td>
|
||||
<td class="text-right pl-0">{{ __('invoices::invoice.total_amount') }}</td>
|
||||
<td class="text-right pr-0 total-amount">
|
||||
{{ $invoice->formatCurrency($invoice->total_amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@if ($invoice->notes)
|
||||
<p>
|
||||
{{ trans('invoices::invoice.amount_in_words') }}: {{ $invoice->getTotalAmountInWords() }}
|
||||
</p>
|
||||
<p>
|
||||
{{ trans('invoices::invoice.pay_until') }}: {{ $invoice->getPayUntilDate() }}
|
||||
{{ __('invoices::invoice.notes') }}: {!! $invoice->notes !!}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
<p>
|
||||
{{ __('invoices::invoice.amount_in_words') }}: {{ $invoice->getTotalAmountInWords() }}
|
||||
</p>
|
||||
<p>
|
||||
{{ __('invoices::invoice.pay_until') }}: {{ $invoice->getPayUntilDate() }}
|
||||
</p>
|
||||
|
||||
<script type="text/php">
|
||||
if (isset($pdf) && $PAGE_COUNT > 1) {
|
||||
$text = "Page {PAGE_NUM} / {PAGE_COUNT}";
|
||||
$size = 10;
|
||||
$font = $fontMetrics->getFont("Verdana");
|
||||
$width = $fontMetrics->get_text_width($text, $font, $size) / 2;
|
||||
$x = ($pdf->get_width() - $width);
|
||||
$y = $pdf->get_height() - 35;
|
||||
$pdf->page_text($x, $y, $text, $font, $size);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
<script type="text/php">
|
||||
if (isset($pdf) && $PAGE_COUNT > 1) {
|
||||
$text = "Page {PAGE_NUM} / {PAGE_COUNT}";
|
||||
$size = 10;
|
||||
$font = $fontMetrics->getFont("Verdana");
|
||||
$width = $fontMetrics->get_text_width($text, $font, $size) / 2;
|
||||
$x = ($pdf->get_width() - $width);
|
||||
$y = $pdf->get_height() - 35;
|
||||
$pdf->page_text($x, $y, $text, $font, $size);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue