Merge remote-tracking branch 'Dolibarr/12.0' into 12
255
ChangeLog
@ -2,6 +2,234 @@
|
||||
English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
|
||||
***** ChangeLog for 12.0 compared to 11.0 *****
|
||||
For users:
|
||||
|
||||
NEW: Module MO (Manufacturing Order) is available as stable module.
|
||||
NEW: Receipt printer module moved from 'development' to 'experimental'
|
||||
NEW: Add option MAIN_VIEW_LINE_NUMBER_IN_LIST for some lists.
|
||||
NEW: add numbering module for TakePOS module
|
||||
NEW: 2 new options when creating an invoice from time spent on a project : by period or by task
|
||||
NEW: Accountancy add column thirdparty on binding page
|
||||
NEW: Accountancy - Add Export for Fiducial Winfic eWinfic WinSis Compta
|
||||
NEW: Accountancy - Add Export LD compta version 10
|
||||
NEW: Accountancy - Add mode intra & export for product or service bought
|
||||
NEW: Accountancy - Add possibility to manage a short alternative label for account - Use to simplify accountancy
|
||||
NEW: Accountancy - General ledger - Add an option to search not reconciled lines
|
||||
NEW: Add accountancy code of thirdparty in contact and supplier export
|
||||
NEW: add a link to notes in members list
|
||||
NEW: add a parameter to group same products in TakePOS
|
||||
NEW: add a parameter to sort product by label in TakePOS
|
||||
NEW: Add a profil to import contact categories
|
||||
NEW: Add company extrafields into order export
|
||||
NEW: add const CASHDESK_FORCE_DECREASE_STOCK to force batch decrementation
|
||||
NEW: add const TAKEPOS_NUMPAD_USE_PAYMENT_ICON to use icons on payment buttons
|
||||
NEW: add csv separator setup in module admin
|
||||
NEW: add dedicated substitutions keys for extrafields of type date and datetime
|
||||
NEW: add default warehouse for dispatch
|
||||
NEW: Add due date in feature "Export accounting documents"
|
||||
NEW: Add duration information for fichinter
|
||||
NEW: Start support of Dark theme into ELDY theme
|
||||
NEW: Add field author public alias for blog post on website module
|
||||
NEW: Add "finished" field on product list
|
||||
NEW: Add French association chart of accounts 2018
|
||||
NEW: Add French farm chart of accounts 2014
|
||||
NEW: Add French foundation chart of accounts 2018
|
||||
NEW: add global reduction in cash desk
|
||||
NEW: Add graph type 'piesemicircle'
|
||||
NEW: Add hook getInputIdProf. Better solution for #13228
|
||||
NEW: Add hook on margin list page
|
||||
NEW: add icon on payment buttons in cash desk
|
||||
NEW: Add include various payments and loans in accounting report with simplfified accountancy
|
||||
NEW: Add invoice stat graph and categ search
|
||||
NEW: Addition of delivery times in substitution variables
|
||||
NEW: add member to validate on dashboard
|
||||
NEW: Add method to add social network sharing buttons on blog posts
|
||||
NEW: add multicurrency columns to document lists
|
||||
NEW: add numbering module for cash desk
|
||||
NEW: add Opening Balance column to balance.php
|
||||
NEW: add opportunity status in project stats
|
||||
NEW: Add option PDF_USE_ALSO_LANGUAGE_CODE to generate PDF in 2 languages
|
||||
NEW: Add option to hide all inactive users into combo list of users.
|
||||
NEW: add PDF certificate if present on document folder
|
||||
NEW: add product if only one found
|
||||
NEW: Add product on key "Enter" in search bar
|
||||
NEW: add professional ID 1 in sepamandate document
|
||||
NEW: Add Project Ref Column on list of social/fiscal contributions
|
||||
NEW: add Project Ref in events export
|
||||
NEW: add public and private notes in propal list
|
||||
NEW: Add social networks of the company
|
||||
NEW: Add sorting for contacts of ... pages
|
||||
NEW: Add subtitution variables for url of document in backoffice
|
||||
NEW: Add tel and fax in warehouse card
|
||||
NEW: add total of value in product stat
|
||||
NEW: add total weighted amount in project list
|
||||
NEW: add units in product list
|
||||
NEW: add VAT ID in sepamandate document
|
||||
NEW: add VAT rates in free zone for product/service in TakePOS
|
||||
NEW: add weighted amount on project/opportunity
|
||||
NEW: add width and height measures in product list
|
||||
NEW: add WYSiWYG on member type's description
|
||||
NEW: [Allow constants values to be overridden by environment variables]
|
||||
NEW: Allow custom module class origine type in Mouvementstock
|
||||
NEW: allow display extrafields on pdf
|
||||
NEW: Allow extrafields on pdf : extend to line desc
|
||||
NEW: allow time consumed to be linked to another task
|
||||
NEW: Another way to navigate between pages for some lists
|
||||
NEW: Add author column in the client/supplier invoice lists and into order list
|
||||
NEW: bank account tags for invoice ODT template
|
||||
NEW: Bar Restaurant tab and Auto order
|
||||
NEW: better filter on shipment list as other list
|
||||
NEW: Better php module view admin
|
||||
NEW: Bookkeeping - Add link to document & pdf
|
||||
NEW: Bookmarks are now in top menu bar
|
||||
NEW: Can check all events in one click in setup of audited events
|
||||
NEW: Can create an deposit from order using a percentage of qty.
|
||||
NEW: Can edit option PDF_USE_ALSO_LANGUAGE_CODE from PDF setup page
|
||||
NEW: Can enter and edit stripe credit card using the Stripe card ID
|
||||
NEW: Can filter on donation status in list
|
||||
NEW: Can replace a string into all pages in website module
|
||||
NEW: Can select several fields to personalize list before submit.
|
||||
NEW: Can select which element to export in export accounting documents.
|
||||
NEW: can update contact in import model
|
||||
NEW: Cash Fence in TakePOS
|
||||
NEW: Categories and subcategories sorted by label in TakePOS
|
||||
NEW: Categories for actioncomm
|
||||
NEW: Category filter for bank and warehouse list
|
||||
NEW: Chart of accounts to Ecuador
|
||||
NEW: class tool for converting units
|
||||
NEW: Close #13011 Add button create thirdparty when creating intervention
|
||||
NEW: Colorful theme for TakePOS
|
||||
NEW: columns units in product list
|
||||
NEW: compatibility of translabel with more dict
|
||||
NEW: Confirm file delete on fracture card
|
||||
NEW: "contact_civility" for ODT templates
|
||||
NEW: CUPS printing compatibility for TakePOS
|
||||
NEW: Customer command list - Add date start & date end
|
||||
NEW: display weight in shipment list
|
||||
NEW: Documentation about PHP support in Dolibarr
|
||||
NEW: Donation - Update FR CERFA to 11580*04
|
||||
NEW: Easier way to setup the different types of tax. Better visibility.
|
||||
NEW: enable put for agendaevents api
|
||||
NEW: Expedition list - Add date start & date end
|
||||
NEW: Experiment supplier packaging with option PRODUCT_USE_SUPPLIER_PACKAGING: Using price according to the minimum quantity
|
||||
NEW: Export module, add extrafields for Contract and Contract line
|
||||
NEW: Extend retained warranty to be available for all invoices
|
||||
NEW: filter by product on supplier order API
|
||||
NEW: French new regions
|
||||
NEW: get documents for categories with RESP API
|
||||
NEW: get proposal by ref with API
|
||||
NEW: Hidden option MAIN_TEMP_DIR
|
||||
NEW: hook and data id
|
||||
NEW: hook on ics generation to add more events in eventarray
|
||||
NEW: hook on product load stats
|
||||
NEW: If $dolibarr_main_force_https is set, the flag 'secure' on session
|
||||
NEW: ignore dir for apple pay with stripe
|
||||
NEW: Invoice list - Add date start & date end
|
||||
NEW: invoice list: enable multicurrency columns
|
||||
NEW: labels on reduction buttons in cash desk
|
||||
NEW: Minimum sell prices taking into account in TakePOS
|
||||
NEW: monthly view to enter time
|
||||
NEW: Multiple sales in TakePOS
|
||||
NEW: multiselect categorie client stats facturation
|
||||
NEW: no confirm discard ticket if paid
|
||||
NEW: not show linked table on add message action
|
||||
NEW: only auto print paid ticket in cash desk
|
||||
NEW: only show units columns in product list (not in service list)
|
||||
NEW: order list: enable multicurrency columns
|
||||
NEW: Overwrite tpl with module_part['tpl'] is deprecated. USe hooks
|
||||
NEW: possibility to defined rounding rules by currency
|
||||
NEW: possibility to show society info when print page
|
||||
NEW: Povide a RSS Feed for blogposts
|
||||
NEW: PRODUCT_SHOW_ORIGIN_IN_COMBO
|
||||
NEW: Project task list, add column selector and extrafields
|
||||
NEW: Propal list - Add date start & date end
|
||||
NEW: propal list: enable multicurrency columns
|
||||
NEW: RECEIPT_PRINTER_NB_CHARACT_BY_LINE and FIX: product label
|
||||
NEW: Restore version of application on main screen (for screenshots)
|
||||
NEW: Salaries list - Add date start & date end
|
||||
NEW: search on key code "enter" if defined in TakePOS
|
||||
NEW: set payment method on paid ticket in TakePOS
|
||||
NEW: Show active widget state of a RSS feed
|
||||
NEW: Show count of each category elements in category card
|
||||
NEW: Show creator, last update user of category/tag in the information tab
|
||||
NEW: Show list of users in the user category card
|
||||
NEW: show messages on ticket card
|
||||
NEW: show "New category" button in top of sub categories list
|
||||
NEW: show project label in project index
|
||||
NEW: Show units of products in stocks and hide total units if content is of diffents units
|
||||
NEW: sorting elements on project overview
|
||||
NEW: special option MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION to store in document line created form other documents lines the id of original lines and origin class line rather than origin object id and origin object type
|
||||
NEW: stats invoice graph with 3 bars (3 years instead of 2)
|
||||
NEW: supplier invoice list: enable multicurrency columns
|
||||
NEW: supplier order list: enable multicurrency columns
|
||||
NEW: supplier proposal list: enable multicurrency columns
|
||||
NEW: Support of tag {line_pos} for line numbers for tables in ODT templates
|
||||
NEW: Support some HTML contents into ODT documents
|
||||
NEW: Parameters for Bar Restaurant are grouped in same tab
|
||||
NEW: Takepos : Sort products by reference
|
||||
NEW: Takepos supplements are supported.
|
||||
NEW: The info_admin() can show text after click on other text
|
||||
NEW: The module selection uses a KanBan view by default.
|
||||
NEW: tooltip for Unit_type and scale in "Dictionary setup - Measuring Units"
|
||||
NEW: tooltip notes with first public note and then private note
|
||||
NEW: Tree view for sub-categories
|
||||
NEW: Truncate columns names when too long and show full title as popup
|
||||
NEW: upload odt models for invoices, order, proposal, thirdparties and shipments.
|
||||
NEW: Use native --convert-to feature to convert to pdf
|
||||
NEW: Add user on order list
|
||||
NEW: Various payment list - Add search date start & date end & subledger account
|
||||
NEW: visu FROM day TO day in permonth view
|
||||
NEW: Website logs are now into a separated log file.
|
||||
NEW: X-Axis on graph are shown verticaly when there is a lot of values.
|
||||
NEW: Can force ref of a variant product
|
||||
|
||||
For developers or integrators:
|
||||
|
||||
NEW: Add a method $form->widgetForTranslation to allow any field of a form to be entered into different languages.
|
||||
NEW: Add API to get types of expense reports
|
||||
NEW: API filter bankaccounts by category
|
||||
NEW: API filter contacts by category
|
||||
NEW: API filter members by category
|
||||
NEW: API filter projects by category
|
||||
NEW: API filter thirdpartie by category
|
||||
NEW: API filter thirdparty by category
|
||||
NEW: API filter user by category
|
||||
NEW: API filter warehouses by categorie
|
||||
NEW: api for get user's documents
|
||||
NEW: api invoice get by ref
|
||||
NEW: API to update purchase price.
|
||||
NEW: Move engine to build charts from jflot to chart.js
|
||||
NEW: Upgrade ace to 1.4.8 - Upgrade select2 to 4.0.13
|
||||
NEW: Upgrade Stripe library to 6.43.1
|
||||
NEW: Bookkeeping by account - Add selectfields & hook
|
||||
NEW: Can force position of legend of graph on right (instead of top)
|
||||
NEW: Can change destination of "Back to list" using a "backtolist" parameter
|
||||
NEW: add more category types from hook
|
||||
|
||||
WARNING:
|
||||
|
||||
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
|
||||
* PHP 5.5 is no more supported. Minimum PHP is now 5.6+.
|
||||
* Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests with
|
||||
HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing
|
||||
the HTML code of content (in such a case, sanitize data later)
|
||||
* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless.
|
||||
* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced
|
||||
by a "_" automatically when a reference (with a custom numbering mask that use it) is generated.
|
||||
* Library jflot (replace with chartjs) was removed.
|
||||
* Library geoip (replaced with geoip2) was removed.
|
||||
* Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL was renamed into ORDER_VALID_AFTER_CLOSE_PROPAL.
|
||||
* Object field ref_int is deprecated and set to 'not used', method to fetch object by only ref_int is not supported anymore.
|
||||
* UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE
|
||||
* A new way to navigate between pages in list is available. To use it (not mandatory), you must:
|
||||
- replace line $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||
- remove input field in form '<input type="hidden" name="page" value="'.$page.'">';'
|
||||
- add parameter $pagenavastextinput to value 1 when calling print_barre_liste()
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 11.0.4 compared to 11.0.3 *****
|
||||
FIX: #13749
|
||||
FIX: #7594 Expense report multi pagebreak
|
||||
@ -80,33 +308,6 @@ FIX: Wrong Sql on getListOfTowns api method
|
||||
FIX: wrong user right's name to top menu "commercial"
|
||||
FIX: XSS Vulnerability reported by Mehmet Kelepçe / Gais Cyber Security
|
||||
|
||||
***** ChangeLog for 12.0.0 compared to 11.0.0 *****
|
||||
For Users:
|
||||
NEW: Module MO (Manufacturing Order) is available as stable module.
|
||||
NEW: Add option MAIN_VIEW_LINE_NUMBER_IN_LIST for some lists.
|
||||
|
||||
For Developers or integrators:
|
||||
* A new way to navigate between pages in list is available. To use it, you must
|
||||
- replace $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||
- remove input field in form '<input type="hidden" name="page" value="'.$page.'">';'
|
||||
- add parameter $pagenavastextinput to value 1 when calling print_barre_liste
|
||||
* UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE
|
||||
|
||||
WARNING:
|
||||
|
||||
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
|
||||
* PHP 5.5 is no more supported. Minimum PHP is now 5.6+.
|
||||
* Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests
|
||||
with HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing
|
||||
the HTML into content (in such a case, sanitize data later)
|
||||
* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless.
|
||||
* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced
|
||||
by a "_" automatically when a reference (with a custom numbering mask that use it) is generated.
|
||||
* Library jflot (replace with chartjs) and geoip (replaced with geoip2) were removed.
|
||||
* Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL were renamed into ORDER_VALID_AFTER_CLOSE_PROPAL.
|
||||
* Object field ref_int is deprecated and set to not used, object fetch by only ref_int is not supported anymore.
|
||||
|
||||
|
||||
***** ChangeLog for 11.0.3 compared to 11.0.2 *****
|
||||
FIX: unit price for selected supplier products not set. NaN was used.
|
||||
FIX: use bad var to check if total is positive for each VAT rate when validating an invoice
|
||||
|
||||
@ -301,6 +301,9 @@ if ($search_email) $sql .= natural_search("d.email", $search_email);
|
||||
if ($search_town) $sql .= natural_search("d.town", $search_town);
|
||||
if ($search_zip) $sql .= natural_search("d.zip", $search_zip);
|
||||
if ($search_state) $sql .= natural_search("state.nom", $search_state);
|
||||
if ($search_phone) $sql .= natural_search("d.phone", $search_phone);
|
||||
if ($search_phone_perso) $sql .= natural_search("d.phone_perso", $search_phone_perso);
|
||||
if ($search_phone_mobile) $sql .= natural_search("d.phone_mobile", $search_phone_mobile);
|
||||
if ($search_country) $sql .= " AND d.country IN (".$search_country.')';
|
||||
if ($filter == 'uptodate') $sql .= " AND (datefin >= '".$db->idate($now)."' OR t.subscription = 0)";
|
||||
if ($filter == 'outofdate') $sql .= " AND ((datefin IS NULL OR datefin < '".$db->idate($now)."') AND t.subscription = 1)";
|
||||
|
||||
@ -1198,7 +1198,7 @@ if ($mode == 'develop')
|
||||
print '<tr class="oddeven" height="80">'."\n";
|
||||
print '<td class="left">';
|
||||
//span class="fa fa-bug"></span>
|
||||
//print '<img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolibarr_preferred_partner_int.png">';
|
||||
//print '<img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolibarr_preferred_partner.png">';
|
||||
print '<div class="imgmaxheight50 logo_setup"></div>';
|
||||
print '</td>';
|
||||
print '<td>'.$langs->trans("TryToUseTheModuleBuilder", $langs->transnoentitiesnoconv("ModuleBuilder")).'</td>';
|
||||
@ -1208,7 +1208,7 @@ if ($mode == 'develop')
|
||||
print '<tr class="oddeven" height="80">'."\n";
|
||||
$url = 'https://partners.dolibarr.org';
|
||||
print '<td class="left">';
|
||||
print'<a href="'.$url.'" target="_blank" rel="external"><img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolibarr_preferred_partner_int.png"></a>';
|
||||
print'<a href="'.$url.'" target="_blank" rel="external"><img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolibarr_preferred_partner.png"></a>';
|
||||
print '</td>';
|
||||
print '<td>'.$langs->trans("DoliPartnersDesc").'</td>';
|
||||
print '<td><a href="'.$url.'" target="_blank" rel="external">'.$url.'</a></td>';
|
||||
|
||||
@ -82,7 +82,7 @@ class Asset extends CommonObject
|
||||
'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'notnull'=>-1, 'searchall'=>1),
|
||||
'amount_ht' => array('type'=>'double(24,8)', 'label'=>'AmountHTShort', 'visible'=>1, 'enabled'=>1, 'position'=>40, 'notnull'=>-1, 'isameasure'=>'1', 'help'=>"Help text",),
|
||||
'amount_vat' => array('type'=>'double(24,8)', 'label'=>'AmountVAT', 'visible'=>1, 'enabled'=>1, 'position'=>40, 'notnull'=>-1, 'isameasure'=>'1', 'help'=>"Help text",),
|
||||
'fk_asset_type' => array('type'=>'integer:AssetType:asset/class/asset_type.class.php', 'label'=>'AssetsType', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'help'=>"LinkToThirparty",),
|
||||
'fk_asset_type' => array('type'=>'integer:AssetType:asset/class/asset_type.class.php', 'label'=>'AssetsType', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>1, 'index'=>1, 'searchall'=>1),
|
||||
'description' => array('type'=>'text', 'label'=>'Description', 'visible'=>-1, 'enabled'=>1, 'position'=>90, 'notnull'=>-1,),
|
||||
'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'visible'=>-1, 'enabled'=>1, 'position'=>91, 'notnull'=>-1,),
|
||||
'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'visible'=>-1, 'enabled'=>1, 'position'=>92, 'notnull'=>-1,),
|
||||
|
||||
@ -91,7 +91,7 @@ class BOM extends CommonObject
|
||||
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",),
|
||||
'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>5),
|
||||
'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'noteditable'=>1, 'visible'=>4, 'position'=>10, 'notnull'=>1, 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of BOM", 'showoncombobox'=>'1',),
|
||||
'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'1',),
|
||||
'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'autofocusoncreate'=>1),
|
||||
'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,),
|
||||
'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:1:(finished IS NULL or finished <> 0)', 'label'=>'Product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'help'=>'ProductBOMHelp'),
|
||||
'qty' => array('type'=>'real', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>55, 'notnull'=>1, 'isameasure'=>'1', 'css'=>'maxwidth75imp'),
|
||||
|
||||
@ -60,10 +60,10 @@ llxHeader('', $langs->trans('Categories'), '');
|
||||
|
||||
//$object->info($object->id);
|
||||
|
||||
$head = categories_prepare_head($object, $type);
|
||||
|
||||
$title = Categorie::$MAP_TYPE_TITLE_AREA[$type];
|
||||
|
||||
$head = categories_prepare_head($object, $type);
|
||||
|
||||
dol_fiche_head($head, 'info', $langs->trans($title), -1, 'category');
|
||||
$backtolist = (GETPOST('backtolist') ? GETPOST('backtolist') : DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type);
|
||||
$linkback = '<a href="'.$backtolist.'">'.$langs->trans("BackToList").'</a>';
|
||||
@ -78,14 +78,21 @@ $morehtmlref .= '</div>';
|
||||
|
||||
dol_banner_tab($object, 'label', $linkback, ($user->socid ? 0 : 1), 'label', 'label', $morehtmlref, '&type='.$type, 0, '', '', 1);
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<div class="fichecenter">';
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<table width="100%"><tr><td>';
|
||||
print '<table "border centpercent tableforfield">';
|
||||
|
||||
print '<tr><td>';
|
||||
dol_print_object_info($object);
|
||||
print '</td></tr></table>';
|
||||
print '</td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</div>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
@ -144,7 +144,7 @@ if ($object->id)
|
||||
|
||||
print '<div class="fichecenter">';
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table class="border centpercent">';
|
||||
print '<table class="border centpercent tableforfield">';
|
||||
|
||||
// Description
|
||||
print '<tr><td class="titlefield notopnoleft">';
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
/**
|
||||
* \file htdocs/product/traduction.php
|
||||
* \ingroup product
|
||||
* \brief Page de traduction des produits
|
||||
* \brief Page of translation of products
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
@ -167,12 +167,12 @@ $cancel != $langs->trans("Cancel") &&
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader("", "", $langs->trans("Translation"));
|
||||
|
||||
$form = new Form($db);
|
||||
$formadmin = new FormAdmin($db);
|
||||
$formother = new FormOther($db);
|
||||
|
||||
llxHeader("", "", $langs->trans("Translation"));
|
||||
|
||||
$title = Categorie::$MAP_TYPE_TITLE_AREA[$type];
|
||||
|
||||
$head = categories_prepare_head($object, $type);
|
||||
@ -194,8 +194,7 @@ $object->next_prev_filter = ' type = '.$object->type;
|
||||
$object->ref = $object->label;
|
||||
$morehtmlref = '<br><div class="refidno"><a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("Root").'</a> >> ';
|
||||
$ways = $object->print_all_ways(" >> ", '', 1);
|
||||
foreach ($ways as $way)
|
||||
{
|
||||
foreach ($ways as $way) {
|
||||
$morehtmlref .= $way."<br>\n";
|
||||
}
|
||||
$morehtmlref .= '</div>';
|
||||
@ -207,7 +206,7 @@ print '<br>';
|
||||
print '<div class="fichecenter">';
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
|
||||
print '<table class="border centpercent">';
|
||||
print '<table class="border centpercent tableforfield">';
|
||||
|
||||
// Description
|
||||
print '<tr><td class="titlefield notopnoleft">';
|
||||
|
||||
@ -241,7 +241,7 @@ print '<br>';
|
||||
|
||||
print '<div class="fichecenter">';
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table width="100%" class="border">';
|
||||
print '<table class="border centpercent tableforfield">';
|
||||
|
||||
// Description
|
||||
print '<tr><td class="titlefield notopnoleft tdtop">';
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
/**
|
||||
* \file htdocs/commande/info.php
|
||||
* \ingroup commande
|
||||
* \brief Page des informations d'une commande
|
||||
* \brief Sale Order info page
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
|
||||
@ -89,6 +89,8 @@ if ($mode == 'sconly') $param = '&mode=sconly';
|
||||
if ($sortfield) $param .= '&sortfield='.$sortfield;
|
||||
if ($sortorder) $param .= '&sortorder='.$sortorder;
|
||||
|
||||
$totalnboflines = 0;
|
||||
$num = 0;
|
||||
|
||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
||||
@ -99,14 +101,15 @@ print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||
print '<input type="hidden" name="page" value="'.$page.'">';
|
||||
print '<input type="hidden" name="mode" value="'.$mode.'">';
|
||||
|
||||
$nav = '';
|
||||
if ($mode != 'sconly')
|
||||
{
|
||||
$center = ($year ? '<a href="index.php?year='.($year - 1).$param.'">'.img_previous($langs->trans("Previous"), 'class="valignbottom"')."</a> ".$langs->trans("Year").' '.$year.' <a href="index.php?year='.($year + 1).$param.'">'.img_next($langs->trans("Next"), 'class="valignbottom"')."</a>" : "");
|
||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'object_payment', 0, '', '', $limit, 1);
|
||||
$nav = ($year ? '<a href="index.php?year='.($year - 1).$param.'">'.img_previous($langs->trans("Previous"), 'class="valignbottom"')."</a> ".$langs->trans("Year").' '.$year.' <a href="index.php?year='.($year + 1).$param.'">'.img_next($langs->trans("Next"), 'class="valignbottom"')."</a>" : "");
|
||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $nav, '', $limit, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'object_payment', 0, '', '', $limit, 0);
|
||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $nav, '', $limit, 0);
|
||||
}
|
||||
|
||||
if ($year) $param .= '&year='.$year;
|
||||
|
||||
@ -88,7 +88,9 @@ class box_produits_alerte_stock extends ModeleBoxes
|
||||
|
||||
if (($user->rights->produit->lire || $user->rights->service->lire) && $user->rights->stock->lire)
|
||||
{
|
||||
$sql = "SELECT p.rowid, p.label, p.price, p.ref, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte, p.entity,";
|
||||
$sql = "SELECT p.rowid, p.label, p.price, p.ref, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.barcode, p.seuil_stock_alerte, p.entity,";
|
||||
$sql .= " p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
|
||||
$sql .= " p.accountancy_code_buy, p.accountancy_code_buy_intra, p.accountancy_code_buy_export,";
|
||||
$sql .= " SUM(".$this->db->ifsql("s.reel IS NULL", "0", "s.reel").") as total_stock";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."product as p";
|
||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as s on p.rowid = s.fk_product";
|
||||
@ -103,8 +105,10 @@ class box_produits_alerte_stock extends ModeleBoxes
|
||||
$reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters); // Note that $action and $object may have been modified by hook
|
||||
$sql .= $hookmanager->resPrint;
|
||||
}
|
||||
$sql .= " GROUP BY p.rowid, p.ref, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte, p.entity";
|
||||
$sql .= " HAVING SUM(".$this->db->ifsql("s.reel IS NULL", "0", "s.reel").") < p.seuil_stock_alerte";
|
||||
$sql .= " GROUP BY p.rowid, p.ref, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.barcode, p.seuil_stock_alerte, p.entity,";
|
||||
$sql .= " p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
|
||||
$sql .= " p.accountancy_code_buy, p.accountancy_code_buy_intra, p.accountancy_code_buy_export";
|
||||
$sql .= " HAVING SUM(".$this->db->ifsql("s.reel IS NULL", "0", "s.reel").") < p.seuil_stock_alerte";
|
||||
$sql .= $this->db->order('p.seuil_stock_alerte', 'DESC');
|
||||
$sql .= $this->db->plimit($max, 0);
|
||||
|
||||
@ -142,6 +146,15 @@ class box_produits_alerte_stock extends ModeleBoxes
|
||||
$productstatic->type = $objp->fk_product_type;
|
||||
$productstatic->label = $objp->label;
|
||||
$productstatic->entity = $objp->entity;
|
||||
$productstatic->barcode = $objp->barcode;
|
||||
$productstatic->status = $objp->tosell;
|
||||
$productstatic->status_buy = $objp->tobuy;
|
||||
$productstatic->accountancy_code_sell = $objp->accountancy_code_sell;
|
||||
$productstatic->accountancy_code_sell_intra = $objp->accountancy_code_sell_intra;
|
||||
$productstatic->accountancy_code_sell_export = $objp->accountancy_code_sell_export;
|
||||
$productstatic->accountancy_code_buy = $objp->accountancy_code_buy;
|
||||
$productstatic->accountancy_code_buy_intra = $objp->accountancy_code_buy_intra;
|
||||
$productstatic->accountancy_code_buy_export = $objp->accountancy_code_buy_export;
|
||||
|
||||
$this->info_box_contents[$line][] = array(
|
||||
'td' => '',
|
||||
|
||||
@ -133,7 +133,7 @@ class box_shipments extends ModeleBoxes
|
||||
$societestatic->logo = $objp->logo;
|
||||
|
||||
$this->info_box_contents[$line][] = array(
|
||||
'td' => '',
|
||||
'td' => 'class="nowraponall"',
|
||||
'text' => $shipmentstatic->getNomUrl(1),
|
||||
'asis' => 1,
|
||||
);
|
||||
@ -145,7 +145,7 @@ class box_shipments extends ModeleBoxes
|
||||
);
|
||||
|
||||
$this->info_box_contents[$line][] = array(
|
||||
'td' => '',
|
||||
'td' => 'class="nowraponall"',
|
||||
'text' => $orderstatic->getNomUrl(1),
|
||||
'asis' => 1,
|
||||
);
|
||||
|
||||
@ -218,8 +218,8 @@ abstract class CommonDocGenerator
|
||||
'company_idprof6'=>$object->idprof6,
|
||||
'company_note_public'=>$object->note_public,
|
||||
'company_note_private'=>$object->note_private,
|
||||
'company_default_bank_iban'=>$object->bank_account->iban,
|
||||
'company_default_bank_bic'=>$object->bank_account->bic
|
||||
'company_default_bank_iban'=>(is_object($object->bank_account) ? $object->bank_account->iban : ''),
|
||||
'company_default_bank_bic'=>(is_object($object->bank_account) ? $object->bank_account->bic : '')
|
||||
);
|
||||
|
||||
// Retrieve extrafields
|
||||
|
||||
@ -6046,6 +6046,7 @@ abstract class CommonObject
|
||||
$computed = $this->fields[$key]['computed'];
|
||||
$unique = $this->fields[$key]['unique'];
|
||||
$required = $this->fields[$key]['required'];
|
||||
$autofocusoncreate = $this->fields[$key]['autofocusoncreate'];
|
||||
|
||||
$langfile = $this->fields[$key]['langfile'];
|
||||
$list = $this->fields[$key]['list'];
|
||||
@ -6122,19 +6123,19 @@ abstract class CommonObject
|
||||
{
|
||||
$tmp = explode(',', $size);
|
||||
$newsize = $tmp[0];
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" maxlength="'.$newsize.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').'>';
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" maxlength="'.$newsize.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>';
|
||||
}
|
||||
elseif (in_array($type, array('real')))
|
||||
{
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').'>';
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>';
|
||||
}
|
||||
elseif (preg_match('/varchar/', $type))
|
||||
{
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" maxlength="'.$size.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').'>';
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" maxlength="'.$size.'" value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>';
|
||||
}
|
||||
elseif (in_array($type, array('mail', 'phone', 'url')))
|
||||
{
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" value="'.dol_escape_htmltag($value).'" '.($moreparam ? $moreparam : '').'>';
|
||||
$out = '<input type="text" class="flat '.$morecss.' maxwidthonsmartphone" name="'.$keyprefix.$key.$keysuffix.'" id="'.$keyprefix.$key.$keysuffix.'" value="'.dol_escape_htmltag($value).'" '.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>';
|
||||
}
|
||||
elseif ($type == 'text')
|
||||
{
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
use Splash\Tests\WsObjects\O00ObjectBaseTest;
|
||||
|
||||
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2003 Xavier Dutoit <doli@sydesy.com>
|
||||
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2006 Jean Heimburger <jean@tiaris.info>
|
||||
*
|
||||
|
||||
@ -175,7 +175,7 @@ class FormTicket
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Si origin du ticket
|
||||
// If ticket created from another object
|
||||
if (isset($this->param['origin']) && $this->param['originid'] > 0) {
|
||||
// Parse element/subelement (ex: project_task)
|
||||
$element = $subelement = $this->param['origin'];
|
||||
@ -225,7 +225,7 @@ class FormTicket
|
||||
if ($this->withthreadid > 0) {
|
||||
$subject = $langs->trans('SubjectAnswerToTicket').' '.$this->withthreadid.' : '.$this->topic_title.'';
|
||||
}
|
||||
print '<input class="text minwidth300" id="subject" name="subject" value="'.(GETPOST('subject', 'alpha') ? GETPOST('subject', 'alpha') : $subject).'" />';
|
||||
print '<input class="text minwidth500" id="subject" name="subject" value="'.(GETPOST('subject', 'alpha') ? GETPOST('subject', 'alpha') : $subject).'" autofocus />';
|
||||
print '</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
@ -802,7 +802,10 @@ function show_projects($conf, $langs, $db, $object, $backtopage = '', $nocreatel
|
||||
print '<tr class="oddeven">';
|
||||
|
||||
// Ref
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$projecttmp->id.'">'.img_object($langs->trans("ShowProject"), ($obj->public ? 'projectpub' : 'project'))." ".$obj->ref.'</a></td>';
|
||||
print '<td>';
|
||||
print $projecttmp->getNomUrl(1);
|
||||
print '</td>';
|
||||
|
||||
// Label
|
||||
print '<td>'.$obj->title.'</td>';
|
||||
// Date start
|
||||
|
||||
@ -3167,7 +3167,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
'object_phoning', 'object_phoning_mobile', 'object_phoning_fax', 'object_email', 'object_website',
|
||||
'off', 'on', 'order',
|
||||
'paiment', 'play', 'playdisabled', 'poll', 'printer', 'product', 'propal', 'projecttask', 'stock', 'resize', 'service', 'stats', 'trip',
|
||||
'setup', 'sign-out', 'split', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'vcard', 'wrench',
|
||||
'setup', 'sign-out', 'split', 'stripe-s', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'vcard', 'wrench',
|
||||
'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp',
|
||||
'chevron-left', 'chevron-right', 'chevron-down', 'chevron-top',
|
||||
'home', 'companies', 'products', 'commercial', 'invoicing', 'preview', 'project', 'projectpub', 'supplier_invoice', 'hrm', 'members', 'ticket', 'generic',
|
||||
@ -3181,7 +3181,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
if (in_array($pictowithouttext, array('object_generic', 'note', 'off', 'on', 'object_bookmark', 'bookmark', 'vcard'))) {
|
||||
$fa = 'far';
|
||||
}
|
||||
if (in_array($pictowithouttext, array('skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp'))) {
|
||||
if (in_array($pictowithouttext, array('skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'stripe-s', 'youtube', 'google-plus-g', 'whatsapp'))) {
|
||||
$fa = 'fab';
|
||||
}
|
||||
|
||||
@ -3262,24 +3262,24 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
|
||||
// Add CSS
|
||||
$arrayconvpictotomorcess = array(
|
||||
'action'=>'bg-infobox-action', 'account'=>'bg-infobox-bank_account', 'accountancy'=>'bg-infobox-bank_account',
|
||||
'action'=>'infobox-action', 'account'=>'infobox-bank_account', 'accountancy'=>'infobox-bank_account',
|
||||
'bank_account'=>'bg-infobox-bank_account',
|
||||
'bill'=>'bg-infobox-commande', 'billa'=>'bg-infobox-commande', 'billd'=>'bg-infobox-commande',
|
||||
'cash-register'=>'bg-infobox-bank_account', 'contract'=>'bg-infobox-contrat', 'check'=>'font-status4', 'conversation'=>'bg-infobox-contrat',
|
||||
'donation'=>'bg-infobox-commande', 'dollyrevert'=>'flip', 'ecm'=>'bg-infobox-action',
|
||||
'hrm'=>'bg-infobox-adherent', 'group'=>'bg-infobox-adherent', 'intervention'=>'bg-infobox-contrat',
|
||||
'multicurrency'=>'bg-infobox-bank_account',
|
||||
'members'=>'bg-infobox-adherent', 'member'=>'bg-infobox-adherent', 'money-bill-alt'=>'bg-infobox-bank_account',
|
||||
'order'=>'bg-infobox-commande',
|
||||
'user'=>'bg-infobox-adherent', 'users'=>'bg-infobox-adherent',
|
||||
'bill'=>'infobox-commande', 'billa'=>'infobox-commande', 'billd'=>'infobox-commande',
|
||||
'cash-register'=>'infobox-bank_account', 'contract'=>'infobox-contrat', 'check'=>'font-status4', 'conversation'=>'infobox-contrat',
|
||||
'donation'=>'infobox-commande', 'dollyrevert'=>'flip', 'ecm'=>'infobox-action',
|
||||
'hrm'=>'infobox-adherent', 'group'=>'infobox-adherent', 'intervention'=>'infobox-contrat',
|
||||
'multicurrency'=>'infobox-bank_account',
|
||||
'members'=>'infobox-adherent', 'member'=>'infobox-adherent', 'money-bill-alt'=>'infobox-bank_account',
|
||||
'order'=>'infobox-commande',
|
||||
'user'=>'infobox-adherent', 'users'=>'infobox-adherent',
|
||||
'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4',
|
||||
'holiday'=>'bg-infobox-holiday', 'invoice'=>'bg-infobox-commande',
|
||||
'payment'=>'bg-infobox-bank_account', 'poll'=>'bg-infobox-adherent', 'project'=>'bg-infobox-project', 'projecttask'=>'bg-infobox-project', 'propal'=>'bg-infobox-propal',
|
||||
'resource'=>'bg-infobox-action',
|
||||
'supplier_invoice'=>'bg-infobox-order_supplier', 'supplier_invoicea'=>'bg-infobox-order_supplier', 'supplier_invoiced'=>'bg-infobox-order_supplier',
|
||||
'supplier_order'=>'bg-infobox-order_supplier', 'supplier_proposal'=>'bg-infobox-supplier_proposal',
|
||||
'ticket'=>'bg-infobox-contrat', 'title_accountancy'=>'bg-infobox-bank_account', 'title_hrm'=>'bg-infobox-holiday', 'trip'=>'bg-infobox-expensereport', 'title_agenda'=>'bg-infobox-action',
|
||||
//'title_setup'=>'bg-infobox-action', 'tools'=>'bg-infobox-action',
|
||||
'holiday'=>'infobox-holiday', 'invoice'=>'infobox-commande',
|
||||
'payment'=>'infobox-bank_account', 'poll'=>'infobox-adherent', 'project'=>'infobox-project', 'projecttask'=>'infobox-project', 'propal'=>'infobox-propal',
|
||||
'resource'=>'infobox-action',
|
||||
'supplier_invoice'=>'infobox-order_supplier', 'supplier_invoicea'=>'infobox-order_supplier', 'supplier_invoiced'=>'infobox-order_supplier',
|
||||
'supplier_order'=>'infobox-order_supplier', 'supplier_proposal'=>'infobox-supplier_proposal',
|
||||
'ticket'=>'infobox-contrat', 'title_accountancy'=>'infobox-bank_account', 'title_hrm'=>'infobox-holiday', 'trip'=>'infobox-expensereport', 'title_agenda'=>'infobox-action',
|
||||
//'title_setup'=>'infobox-action', 'tools'=>'infobox-action',
|
||||
'list-alt'=>'imgforviewmode', 'calendar'=>'imgforviewmode', 'calendarweek'=>'imgforviewmode', 'calendarmonth'=>'imgforviewmode', 'calendarday'=>'imgforviewmode', 'calendarperuser'=>'imgforviewmode'
|
||||
);
|
||||
if (!empty($arrayconvpictotomorcess[$pictowithouttext])) {
|
||||
|
||||
@ -279,7 +279,7 @@ if (!function_exists('dol_loginfunction'))
|
||||
// Set jquery theme
|
||||
$dol_loginmesg = (!empty($_SESSION["dol_loginmesg"]) ? $_SESSION["dol_loginmesg"] : '');
|
||||
|
||||
$favicon = DOL_URL_ROOT.'/theme/dolibarr_logo_256x256.png';
|
||||
$favicon = DOL_URL_ROOT.'/theme/dolibarr_256x256_color.png';
|
||||
if (!empty($mysoc->logo_squarred_mini)) $favicon = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_squarred_mini);
|
||||
if (!empty($conf->global->MAIN_FAVICON_URL)) $favicon = $conf->global->MAIN_FAVICON_URL;
|
||||
|
||||
|
||||
@ -559,7 +559,7 @@ function getStructuredData($type, $data = array())
|
||||
|
||||
if ($type == 'software')
|
||||
{
|
||||
$ret = '<!-- Add structured data for blog post -->'."\n";
|
||||
$ret = '<!-- Add structured data for software post -->'."\n";
|
||||
$ret .= '<script type="application/ld+json">'."\n";
|
||||
$ret .= '{
|
||||
"@context": "https://schema.org",
|
||||
@ -585,7 +585,7 @@ function getStructuredData($type, $data = array())
|
||||
$companyname = $mysoc->name;
|
||||
$url = $mysoc->url;
|
||||
|
||||
$ret = '<!-- Add structured data for blog post -->'."\n";
|
||||
$ret = '<!-- Add structured data for organization -->'."\n";
|
||||
$ret .= '<script type="application/ld+json">'."\n";
|
||||
$ret .= '{
|
||||
"@context": "https://schema.org",
|
||||
@ -597,8 +597,9 @@ function getStructuredData($type, $data = array())
|
||||
"@type": "ContactPoint",
|
||||
"contactType": "Contact",
|
||||
"email": "'.dol_escape_json($data['email'] ? $data['email'] : $mysoc->email).'"
|
||||
},'."\n";
|
||||
}'."\n";
|
||||
if (is_array($mysoc->socialnetworks) && count($mysoc->socialnetworks) > 0) {
|
||||
$ret .= ",\n";
|
||||
$ret .= '"sameAs": [';
|
||||
$i = 0;
|
||||
foreach($mysoc->socialnetworks as $key => $value) {
|
||||
@ -613,9 +614,9 @@ function getStructuredData($type, $data = array())
|
||||
$i++;
|
||||
if ($i < count($mysoc->socialnetworks)) $ret .= ', ';
|
||||
}
|
||||
$ret .= '],'."\n";
|
||||
$ret .= ']'."\n";
|
||||
}
|
||||
$ret .= "\n".'}'."\n";
|
||||
$ret .= '}'."\n";
|
||||
$ret .= '</script>'."\n";
|
||||
}
|
||||
elseif ($type == 'blogpost')
|
||||
@ -684,7 +685,7 @@ function getStructuredData($type, $data = array())
|
||||
}
|
||||
elseif ($type == 'product')
|
||||
{
|
||||
$ret = '<!-- Add structured data for blog post -->'."\n";
|
||||
$ret = '<!-- Add structured data for product -->'."\n";
|
||||
$ret .= '<script type="application/ld+json">'."\n";
|
||||
$ret .= '{
|
||||
"@context": "https://schema.org/",
|
||||
|
||||
@ -147,7 +147,7 @@ function print_auguria_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout
|
||||
}*/
|
||||
else
|
||||
{
|
||||
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo_squarred_alpha.png';
|
||||
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_512x512_white.png';
|
||||
$logoContainerAdditionalClass = '';
|
||||
}
|
||||
|
||||
|
||||
@ -514,7 +514,7 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout =
|
||||
}*/
|
||||
else
|
||||
{
|
||||
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo_squarred_alpha.png';
|
||||
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_512x512_white.png';
|
||||
$logoContainerAdditionalClass = '';
|
||||
}
|
||||
$title = $langs->trans("GoIntoSetupToChangeLogo");
|
||||
|
||||
@ -241,7 +241,7 @@ if ($action == 'create')
|
||||
print '<table class="border centpercent">';
|
||||
|
||||
// Label
|
||||
print '<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans("Label").'</td><td><input name="label" class="minwidth100" maxlength="32" value="'.$ecmdir->label.'"></td></tr>'."\n";
|
||||
print '<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans("Label").'</td><td><input name="label" class="minwidth100" maxlength="32" value="'.$ecmdir->label.'" autofocus></td></tr>'."\n";
|
||||
|
||||
print '<tr><td>'.$langs->trans("AddIn").'</td><td>';
|
||||
print $formecm->selectAllSections((GETPOST("catParent", 'alpha') ? GETPOST("catParent", 'alpha') : $ecmdir->fk_parent), 'catParent', $module);
|
||||
|
||||
@ -430,7 +430,7 @@ else
|
||||
{
|
||||
$choice .= '<br>';
|
||||
//print $langs->trans("InstallChoiceRecommanded",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE);
|
||||
$choice .= '<div class="center"><div class="ok">'.$langs->trans("InstallChoiceSuggested").'</div></div>';
|
||||
$choice .= '<div class="center"><div class="ok suggestedchoice">'.$langs->trans("InstallChoiceSuggested").'</div></div>';
|
||||
// <img src="../theme/eldy/img/tick.png" alt="Ok"> ';
|
||||
}
|
||||
|
||||
@ -534,7 +534,7 @@ else
|
||||
$choice .= '<br>';
|
||||
//print $langs->trans("InstallChoiceRecommanded",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE);
|
||||
$choice .= '<div class="center">';
|
||||
$choice .= '<div class="ok">'.$langs->trans("InstallChoiceSuggested").'</div>';
|
||||
$choice .= '<div class="ok suggestedchoice">'.$langs->trans("InstallChoiceSuggested").'</div>';
|
||||
if ($count < count($migarray)) // There are other choices after
|
||||
{
|
||||
print $langs->trans("MigrateIsDoneStepByStep", DOL_VERSION);
|
||||
|
||||
@ -361,7 +361,7 @@ a.button:link,a.button:visited,a.button:active {
|
||||
background: #ddd;
|
||||
color: #fff;
|
||||
/* border: 1px solid #e0e0e0; */
|
||||
padding: 0.3em 0.7em;
|
||||
padding: 0.5em 0.7em;
|
||||
margin: 0 0.5em;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
@ -374,6 +374,13 @@ a.button:hover {
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.suggestedchoice {
|
||||
color: rgba(70, 3, 62, 0.6) !important;
|
||||
/* background-color: rgba(70, 3, 62, 0.3); */
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.choiceselected {
|
||||
background-color: #f4f6f4;
|
||||
background-repeat: repeat-x;
|
||||
|
||||
@ -64,6 +64,8 @@ create table llx_facturedet_rec_extrafields
|
||||
|
||||
ALTER TABLE llx_facturedet_rec_extrafields ADD INDEX idx_facturedet_rec_extrafields (fk_object);
|
||||
|
||||
ALTER TABLE llx_facture_rec MODIFY COLUMN titre varchar(200) NOT NULL;
|
||||
|
||||
-- This var is per entity now, so we remove const if global if exists
|
||||
delete from llx_const where name = 'PROJECT_HIDE_TASKS' and entity = 0;
|
||||
|
||||
|
||||
@ -495,8 +495,8 @@ UPDATE llx_accounting_bookkeeping set date_creation = tms where date_creation IS
|
||||
UPDATE llx_facturedet SET situation_percent = 100 WHERE situation_percent IS NULL AND fk_prev_id IS NULL;
|
||||
|
||||
-- Test inconsistency of data into situation invoices: If it differs, it may be the total_ht that is wrong and situation_percent that is good.
|
||||
-- select f.rowid, f.type, qty, subprice, situation_percent, total_ht, total_ttc, total_tva, multicurrency_total_ht, multicurrency_total_tva, multicurrency_total_ttc, (situation_percent / 100 * subprice * qty * (1 - (fd.remise_percent / 100)))
|
||||
-- from llx_facturedet as fd, llx_facture as f where fd.fk_facture = f.rowid AND (total_ht - situation_percent / 100 * subprice * qty * (1 - (fd.remise_percent / 100))) > 0.01 and f.type = 5;
|
||||
-- select f.rowid, f.type, qty, subprice, situation_percent, fd.total_ht, fd.total_ttc, fd.total_tva, fd.multicurrency_total_ht, fd.multicurrency_total_tva, fd.multicurrency_total_ttc, (situation_percent / 100 * subprice * qty * (1 - (fd.remise_percent / 100)))
|
||||
-- from llx_facturedet as fd, llx_facture as f where fd.fk_facture = f.rowid AND (fd.total_ht - situation_percent / 100 * subprice * qty * (1 - (fd.remise_percent / 100))) > 0.01 and f.type = 5;
|
||||
|
||||
|
||||
-- Note to make all deposit as payed when there is already a discount generated from it.
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
create table llx_facture_rec
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
titre varchar(100) NOT NULL,
|
||||
titre varchar(200) NOT NULL,
|
||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||
fk_soc integer NOT NULL,
|
||||
datec datetime, -- date de creation
|
||||
|
||||
@ -1209,7 +1209,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr
|
||||
print '<meta name="author" content="Dolibarr Development Team">'."\n";
|
||||
|
||||
// Favicon
|
||||
$favicon = DOL_URL_ROOT.'/theme/dolibarr_logo_256x256.png';
|
||||
$favicon = DOL_URL_ROOT.'/theme/dolibarr_256x256_color.png';
|
||||
if (!empty($mysoc->logo_squarred_mini)) $favicon = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_squarred_mini);
|
||||
if (!empty($conf->global->MAIN_FAVICON_URL)) $favicon = $conf->global->MAIN_FAVICON_URL;
|
||||
if (empty($conf->dol_use_jmobile)) print '<link rel="shortcut icon" type="image/x-icon" href="'.$favicon.'"/>'."\n"; // Not required into an Android webview
|
||||
@ -1262,7 +1262,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr
|
||||
if (GETPOSTISSET('dol_optimize_smallscreen')) { $themeparam .= '&dol_optimize_smallscreen='.GETPOST('dol_optimize_smallscreen', 'int'); }
|
||||
if (GETPOSTISSET('dol_no_mouse_hover')) { $themeparam .= '&dol_no_mouse_hover='.GETPOST('dol_no_mouse_hover', 'int'); }
|
||||
if (GETPOSTISSET('dol_use_jmobile')) { $themeparam .= '&dol_use_jmobile='.GETPOST('dol_use_jmobile', 'int'); $conf->dol_use_jmobile = GETPOST('dol_use_jmobile', 'int'); }
|
||||
if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) { $themeparam .= '&THEME_AGRESSIVENESS_RATIO='.GETPOST('THEME_AGRESSIVENESS_RATIO', 'int'); }
|
||||
if (GETPOSTISSET('THEME_SATURATE_RATIO')) { $themeparam .= '&THEME_SATURATE_RATIO='.GETPOST('THEME_SATURATE_RATIO', 'int'); }
|
||||
|
||||
if (!defined('DISABLE_JQUERY') && !$disablejs && $conf->use_javascript_ajax)
|
||||
{
|
||||
|
||||
@ -83,6 +83,7 @@ class MyObject extends CommonObject
|
||||
* 'showoncombobox' if value of the field must be visible into the label of the combobox that list record
|
||||
* 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code.
|
||||
* 'arraykeyval' to set list of value if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel")
|
||||
* 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1.
|
||||
* 'comment' is not used. You can store here any text of your choice. It is not used by application.
|
||||
*
|
||||
* Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor.
|
||||
|
||||
@ -214,7 +214,7 @@ print '<input type="hidden" name="action" value="update">';
|
||||
$head = opensurvey_prepare_head($object);
|
||||
|
||||
|
||||
dol_fiche_head($head, 'general', $langs->trans("Survey"), -1, DOL_URL_ROOT.'/opensurvey/img/object_opensurvey.png', 1);
|
||||
dol_fiche_head($head, 'general', $langs->trans("Survey"), -1, 'poll');
|
||||
|
||||
$morehtmlref = '';
|
||||
|
||||
|
||||
@ -367,8 +367,8 @@ div.cadre td.vide {
|
||||
/*Case de tableau contenant les noms dans affichage de sondage*/
|
||||
div.cadre td.nom {
|
||||
background-color: #DDDDDD;
|
||||
font-size:12px;
|
||||
text-align:center;
|
||||
padding: 8px;
|
||||
}
|
||||
div.cadre td.casevide {
|
||||
background-color: white;
|
||||
|
||||
@ -421,10 +421,11 @@ $toutsujet = str_replace("°", "'", $toutsujet);
|
||||
|
||||
|
||||
print '<form name="formulaire4" action="#" method="POST">'."\n";
|
||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
|
||||
$head = opensurvey_prepare_head($object);
|
||||
|
||||
dol_fiche_head($head, 'preview', $langs->trans("Survey"), -1, DOL_URL_ROOT.'/opensurvey/img/object_opensurvey.png', 1);
|
||||
dol_fiche_head($head, 'preview', $langs->trans("Survey"), -1, 'poll');
|
||||
|
||||
$morehtmlref = '';
|
||||
|
||||
@ -519,6 +520,7 @@ if (GETPOST('ajoutsujet'))
|
||||
if (!$user->rights->opensurvey->write) accessforbidden();
|
||||
|
||||
print '<form name="formulaire" action="" method="POST">'."\n";
|
||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
print '<input type="hidden" name="backtopage" value="'.GETPOST('backtopage', 'alpha').'">';
|
||||
|
||||
print '<div class="center">'."\n";
|
||||
@ -605,6 +607,7 @@ if ($user->rights->opensurvey->write) {
|
||||
$nbcolonnes = substr_count($object->sujet, ',') + 1;
|
||||
|
||||
print '<form name="formulaire" action="" method="POST">'."\n";
|
||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
|
||||
print '<div class="cadre"> '."\n";
|
||||
|
||||
@ -766,7 +769,7 @@ else
|
||||
print '<td class="sujet">'.dol_htmlentities($tmp[0]).'</td>'."\n";
|
||||
}
|
||||
|
||||
print '<td class="sujet"><a href="'.$_SERVER["PHP_SELF"].'?id='.$numsondage.'&ajoutsujet=1&backtopage='.urlencode($_SERVER["PHP_SELF"]).'">'.img_picto('', dol_buildpath('/opensurvey/img/add-16.png', 1), '', 1).'</a></td>'."\n";
|
||||
print '<td class="sujet"><a href="'.$_SERVER["PHP_SELF"].'?id='.$numsondage.'&ajoutsujet=1&backtopage='.urlencode($_SERVER["PHP_SELF"]).'"><span class="fa fa-plus-circle valignmiddle btnTitle-icon"></span></a></td>'."\n";
|
||||
print '</tr>'."\n";
|
||||
}
|
||||
|
||||
|
||||
@ -711,6 +711,12 @@ class Societe extends CommonObject
|
||||
public $multicurrency_code;
|
||||
|
||||
|
||||
/**
|
||||
* @var Account Default BAN account
|
||||
*/
|
||||
public $bank_account;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -4271,6 +4277,17 @@ class Societe extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
if (! isset($this->bank_account)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php';
|
||||
$bac = new CompanyBankAccount($this->db);
|
||||
$result = $bac->fetch(0, $this->id);
|
||||
if ($result > 0) {
|
||||
$this->bank_account = $bac;
|
||||
} else {
|
||||
$this->bank_account = '';
|
||||
}
|
||||
}
|
||||
|
||||
$modelpath = "core/modules/societe/doc/";
|
||||
|
||||
$result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams);
|
||||
|
||||
@ -31,6 +31,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
|
||||
|
||||
$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'thirdpartylist';
|
||||
|
||||
// Security check
|
||||
$socid = GETPOST('socid', 'int');
|
||||
if ($user->socid) $socid = $user->socid;
|
||||
@ -147,6 +149,7 @@ if ($conf->ficheinter->enabled && $user->rights->ficheinter->lire) $elementTypeA
|
||||
|
||||
if ($object->fournisseur)
|
||||
{
|
||||
$langs->load("supplier_proposal");
|
||||
print '<tr><td class="titlefield">';
|
||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||
print $object->code_fournisseur;
|
||||
@ -352,14 +355,14 @@ if ($sql_select)
|
||||
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
$param = "&socid=".$socid."&type_element=".$type_element;
|
||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage;
|
||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit;
|
||||
$param = "&socid=".urlencode($socid)."&type_element=".urlencode($type_element);
|
||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||
if ($sprod_fulldescr) $param .= "&sprod_fulldescr=".urlencode($sprod_fulldescr);
|
||||
if ($sref) $param .= "&sref=".urlencode($sref);
|
||||
if ($month) $param .= "&month=".$month;
|
||||
if ($year) $param .= "&year=".$year;
|
||||
if ($optioncss != '') $param .= '&optioncss='.$optioncss;
|
||||
if ($month) $param .= "&month=".urlencode($month);
|
||||
if ($year) $param .= "&year=".urlencode($year);
|
||||
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
|
||||
|
||||
print_barre_liste($langs->trans('ProductsIntoElements').' '.$typeElementString.' '.$button, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, '', 0, '', '', $limit);
|
||||
|
||||
|
||||
@ -963,7 +963,7 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard'
|
||||
{
|
||||
$morehtmlright .= dolGetButtonTitle($langs->trans('Add'), '', 'fa fa-plus-circle', $_SERVER["PHP_SELF"].'?socid='.$object->id.'&action=createcard');
|
||||
}
|
||||
print load_fiche_titre($langs->trans('StripePaymentModes').($stripeacc ? ' (Stripe connection with StripeConnect account '.$stripeacc.')' : ' (Stripe connection with keys from Stripe module setup)'), $morehtmlright, '');
|
||||
print load_fiche_titre($langs->trans('StripePaymentModes').($stripeacc ? ' (Stripe connection with StripeConnect account '.$stripeacc.')' : ' (Stripe connection with keys from Stripe module setup)'), $morehtmlright, 'stripe-s');
|
||||
|
||||
$listofsources = array();
|
||||
if (is_object($stripe))
|
||||
|
||||
@ -111,7 +111,7 @@ llxHeader('', $langs->trans("CashDeskSetup"));
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
|
||||
print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
|
||||
$head = takepos_prepare_head();
|
||||
dol_fiche_head($head, 'other', 'TakePOS', -1);
|
||||
dol_fiche_head($head, 'other', 'TakePOS', -1, 'cash-register');
|
||||
print '<br>';
|
||||
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ llxHeader('', $langs->trans("CashDeskSetup"));
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
|
||||
print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
|
||||
$head = takepos_prepare_head();
|
||||
dol_fiche_head($head, 'receipt', 'TakePOS', -1);
|
||||
dol_fiche_head($head, 'receipt', 'TakePOS', -1, 'cash-register');
|
||||
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?terminal='.(empty($terminal) ? 1 : $terminal).'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
|
||||
@ -133,7 +133,7 @@ llxHeader('', $langs->trans("CashDeskSetup"));
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
|
||||
print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
|
||||
$head = takepos_prepare_head();
|
||||
dol_fiche_head($head, 'setup', 'TakePOS', -1);
|
||||
dol_fiche_head($head, 'setup', 'TakePOS', -1, 'cash-register');
|
||||
|
||||
// Numbering modules
|
||||
$now = dol_now();
|
||||
|
||||
@ -123,7 +123,7 @@ llxHeader('', $langs->trans("CashDeskSetup"));
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
|
||||
print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
|
||||
$head = takepos_prepare_head();
|
||||
dol_fiche_head($head, 'terminal'.$terminal, 'TakePOS', -1);
|
||||
dol_fiche_head($head, 'terminal'.$terminal, 'TakePOS', -1, 'cash-register');
|
||||
print '<br>';
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 1.7 KiB |
BIN
htdocs/theme/dolibarr_256x256_color.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
htdocs/theme/dolibarr_512x512_white.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
htdocs/theme/dolibarr_logo.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
htdocs/theme/dolibarr_logo.png
Normal file → Executable file
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -23,94 +23,6 @@
|
||||
id="title3072">Logo Dolibarr ERP-CRM</title>
|
||||
<defs
|
||||
id="defs3452">
|
||||
<linearGradient
|
||||
id="linearGradient888">
|
||||
<stop
|
||||
style="stop-color:#373d5f;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop884" />
|
||||
<stop
|
||||
style="stop-color:#373d5a;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop886" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5378">
|
||||
<stop
|
||||
id="stop5374"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop5376"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5372">
|
||||
<stop
|
||||
id="stop5368"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop5370"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5366">
|
||||
<stop
|
||||
id="stop5362"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop5364"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5360">
|
||||
<stop
|
||||
id="stop5356"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop5358"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4730">
|
||||
<stop
|
||||
id="stop4726"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop4728"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="5360">
|
||||
<stop
|
||||
id="stop4720"
|
||||
offset="0"
|
||||
style="stop-color:#373d5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop4722"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4718">
|
||||
<stop
|
||||
id="stop4714"
|
||||
offset="0"
|
||||
style="stop-color:#373d55;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop4716"
|
||||
offset="1"
|
||||
style="stop-color:#373d5a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3734-3-6">
|
||||
<stop
|
||||
@ -122,23 +34,6 @@
|
||||
offset="1"
|
||||
id="stop3738" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter3775"
|
||||
style="color-interpolation-filters:sRGB">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="11.473048"
|
||||
id="feGaussianBlur3777" />
|
||||
</filter>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath922">
|
||||
<g
|
||||
style="fill:url(#linearGradient884);fill-opacity:1"
|
||||
inkscape:label="Clip"
|
||||
id="use924" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3734-3-6"
|
||||
@ -148,92 +43,6 @@
|
||||
y1="310.53391"
|
||||
x2="742.98004"
|
||||
y2="310.53391" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient888"
|
||||
id="linearGradient4650"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143"
|
||||
gradientTransform="translate(0,-0.08891)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4718"
|
||||
id="linearGradient4652"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143"
|
||||
gradientTransform="translate(0,-1.60543)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4730"
|
||||
id="linearGradient4654"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5360"
|
||||
id="linearGradient4658"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143"
|
||||
gradientTransform="translate(0,-1.0682839)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5366"
|
||||
id="linearGradient4660"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5372"
|
||||
id="linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5378"
|
||||
id="linearGradient4664"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath880">
|
||||
<g
|
||||
inkscape:label="Clip"
|
||||
id="use882">
|
||||
<text
|
||||
transform="matrix(0.35661275,0,0,0.39656343,-125.67134,110.19296)"
|
||||
id="text889"
|
||||
y="887.85065"
|
||||
x="537.1402"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';opacity:0.17204303;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3775)"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:518.16009521px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
y="887.85065"
|
||||
x="537.1402"
|
||||
id="tspan887"
|
||||
sodipodi:role="line">Dolibarr</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3734-3-6"
|
||||
@ -243,45 +52,6 @@
|
||||
y1="310.53391"
|
||||
x2="742.98004"
|
||||
y2="310.53391" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath923">
|
||||
<g
|
||||
inkscape:label="Clip"
|
||||
id="use925">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';opacity:0.17204303;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3775)"
|
||||
x="537.1402"
|
||||
y="887.85065"
|
||||
id="text932"
|
||||
transform="matrix(0.35661275,0,0,0.39656343,-121.4287,154.03358)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan930"
|
||||
x="537.1402"
|
||||
y="887.85065"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:518.16009521px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none">Dolibarr</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3734-3-6"
|
||||
id="linearGradient884"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="75.697441"
|
||||
y1="310.53391"
|
||||
x2="742.98004"
|
||||
y2="310.53391" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1,0,0,0.74259216,53.441098,97.405596)"
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient888"
|
||||
id="linearGradient4654-3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="385.41022"
|
||||
y1="210.12474"
|
||||
x2="386.59824"
|
||||
y2="386.90143" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
@ -290,9 +60,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6568544"
|
||||
inkscape:cx="318.01609"
|
||||
inkscape:cy="106.45631"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="391.6782"
|
||||
inkscape:cy="-50.366015"
|
||||
inkscape:current-layer="g4648"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
@ -369,48 +139,48 @@
|
||||
<path
|
||||
sodipodi:nodetypes="cccccscsssccsssc"
|
||||
d="m 112.32913,280.29476 v 98.02589 l -36.631688,-0.40123 v 0.40123 -137.35672 h 47.729468 c 20.93239,0 37.32341,5.28424 49.17307,15.85272 14.07523,12.64204 21.11285,29.7991 21.11285,51.47117 0,20.73563 -6.01506,37.65857 -18.04517,50.76884 -12.03011,13.11027 -27.20637,19.35291 -46.1538,19.35291 -2.22557,0 -6.23968,-0.0713 -11.22982,-0.0888 v -40.23379 l 10.08954,-0.0542 c 21.35314,-0.11469 27.8053,-9.87885 27.8053,-29.74492 0,-18.66206 -10.49627,-27.99309 -31.48881,-27.99309 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4650);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8463"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 251.18669,274.26322 q 19.12787,0 32.75197,15.35106 13.71432,15.25071 13.71432,36.62179 0,21.67206 -13.89478,36.92279 -13.80455,15.25071 -33.38356,15.25071 -19.57899,0 -33.47377,-15.25071 -13.89479,-15.35105 -13.89479,-36.92279 0,-21.97308 13.89479,-36.9228 13.89478,-15.05005 34.28582,-15.05005 z m -0.90227,37.02313 q -5.41355,0 -9.20303,4.41468 -3.78949,4.31435 -3.78949,10.63537 0,6.22068 3.78949,10.63537 3.87971,4.41468 9.20303,4.41468 5.41356,0 9.20304,-4.41468 3.8797,-4.41469 3.8797,-10.63537 0,-6.32102 -3.78947,-10.63537 -3.78949,-4.41468 -9.29327,-4.41468 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4652);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8465"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
d="M 345.47268,241.05287 V 378.40956 H 311.72822 V 241.05287 Z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4654);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8467"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="csscscsccscsssccscc"
|
||||
d="m 450.676,239.98458 v 81.97261 c 0,13.31093 4.30076,19.9664 12.90229,19.9664 3.66918,0 6.76693,-1.37123 9.29326,-4.11368 2.58647,-2.80935 3.87971,-6.18725 3.87971,-10.1337 0,-4.08023 -1.20301,-7.49158 -3.60903,-10.23403 -2.40603,-2.80935 -5.3534,-4.21402 -8.84213,-4.21402 -2.46617,0 -8.23123,-0.013 -8.23123,-0.013 l -0.25,-38.08747 c 0,0 6.97747,-0.22701 9.02258,-0.22701 12.69177,0 23.54895,5.08358 32.57153,15.25073 9.08273,10.16714 13.6241,22.40785 13.6241,36.72212 0,14.64872 -5.14562,26.5166 -13.80455,37.02313 -8.57803,10.40836 -22.98621,14.59993 -33.92491,14.51154 -6.73664,-0.0544 -13.32335,-1.10024 -19.75947,-4.37784 -6.37595,-3.27757 -11.63912,-7.69225 -15.78951,-13.24404 -7.21807,-9.63203 -10.8271,-22.10686 -10.8271,-37.42447 v -83.37728 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4658);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8471"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccssscscsccscscscscc"
|
||||
d="m 575.66649,342.98354 -0.15625,35.42602 c 0,0 -5.0745,0 -7.36022,0 -13.53387,0 -24.8121,-3.24403 -33.83468,-13.14362 -9.02259,-9.89959 -13.53388,-22.30753 -13.53388,-37.2238 0,-14.51494 4.54137,-26.82254 13.6241,-36.92279 9.14289,-10.10026 20.24066,-15.15039 33.29333,-15.15039 14.55643,0 26.01511,4.74913 34.37604,14.24739 8.42108,9.43136 12.63162,22.34096 12.63162,38.72879 l -0.0625,49.46442 h -33.80696 l 0.125,-46.75541 c 0.0141,-5.28421 -1.17293,-9.49824 -3.5188,-12.64203 -2.28573,-3.14379 -5.38348,-4.71569 -9.29327,-4.71569 -3.54889,0 -6.61657,1.43811 -9.20304,4.31434 -2.58647,2.87623 -3.87971,6.28758 -3.87971,10.23405 0,4.14712 1.17294,7.55846 3.51881,10.23403 2.34587,2.67556 5.32333,4.01334 8.93236,4.01334 2.94737,0 8.14805,-0.10867 8.14805,-0.10867 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4660);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8473"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccssccscsc"
|
||||
d="m 683.66305,275.87667 0.004,38.91662 c 0,0 -4.41872,0.10517 -6.34353,0.10517 -6.13535,0 -9.20303,5.21735 -9.20303,15.65204 v 47.85906 h -33.74447 v -55.08308 c 0,-14.44805 3.54888,-25.95298 10.64665,-34.51479 7.09777,-8.62869 16.57148,-12.94304 28.42114,-12.94304 2.64662,0 10.21945,0.008 10.21945,0.008 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4662);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8475"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccssccscscc"
|
||||
d="m 742.97999,275.87857 -0.0312,38.94597 c 0,0 -4.51247,0.0739 -6.43728,0.0739 -6.13537,0 -9.20305,5.21735 -9.20305,15.65204 v 47.85906 h -33.74445 v -55.08308 c 0,-14.44805 3.54888,-25.95298 10.64664,-34.51479 7.09777,-8.62869 16.57149,-12.94304 28.42114,-12.94304 2.64663,0 10.34825,0.01 10.34825,0.01 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4664);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.7072947;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8477"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
d="m 398.91378,276.40957 v 102 h -33.74446 v -102 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:url(#linearGradient4654-3);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.47124052;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#263c5c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.47124052;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8467-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
@ -418,18 +188,18 @@
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#007179;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#007b8c;fill-opacity:1;fill-rule:nonzero;stroke:none;"
|
||||
x="643.31146"
|
||||
y="229.77211"
|
||||
id="text5484"
|
||||
transform="scale(0.88533213,1.1295196)"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.95219803px;line-height:100%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#007179;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.95219803px;line-height:100%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#007b8c;fill-opacity:1;fill-rule:nonzero;stroke:none;"
|
||||
sodipodi:role="line"
|
||||
id="tspan5486"
|
||||
x="643.31146"
|
||||
y="229.77211">ERP/CRM</tspan></text>
|
||||
<ellipse
|
||||
style="fill:#007179;fill-opacity:1;stroke:none;stroke-width:1.02999127;stroke-opacity:1"
|
||||
style="fill:#007b8c;fill-opacity:1;stroke:none;stroke-width:1.02999127;stroke-opacity:1"
|
||||
id="path957"
|
||||
cx="381.94193"
|
||||
cy="247.58162"
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
BIN
htdocs/theme/dolibarr_preferred_partner.png
Executable file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
BIN
htdocs/theme/dolistore_logo.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 13 KiB |
146
htdocs/theme/dolistore_logo.svg
Executable file
@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="260"
|
||||
height="70"
|
||||
id="svg3450"
|
||||
version="1.1"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="dolistore_logo.svg"
|
||||
inkscape:export-filename="/home/ldestailleur/git/dolibarr-foundation/logo-cliparts/dolistore_logo.png"
|
||||
inkscape:export-xdpi="192"
|
||||
inkscape:export-ydpi="192">
|
||||
<title
|
||||
id="title3072">Logo Dolibarr ERP-CRM</title>
|
||||
<defs
|
||||
id="defs3452">
|
||||
<linearGradient
|
||||
id="linearGradient3734">
|
||||
<stop
|
||||
style="stop-color:#a1590c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3736" />
|
||||
<stop
|
||||
style="stop-color:#d3a768;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3738" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.8284271"
|
||||
inkscape:cx="43.791163"
|
||||
inkscape:cy="30.424404"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1023"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:showpageshadow="false"
|
||||
showborder="true"
|
||||
borderlayer="false" />
|
||||
<metadata
|
||||
id="metadata3455">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Logo Dolibarr ERP-CRM</dc:title>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Laurent Destailleur</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Laurent Destailleur</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
style="display:inline"
|
||||
transform="translate(0,-530)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#525252;fill-opacity:1;stroke:none"
|
||||
x="188.29013"
|
||||
y="440.52631"
|
||||
id="text3763"
|
||||
transform="scale(0.74258923,1.3466395)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3765"
|
||||
x="188.29013"
|
||||
y="440.52631"
|
||||
style="font-size:58.11785507px;line-height:1.25;font-family:sans-serif">Store</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cccccscsssccsssc"
|
||||
d="m 24.436019,555.72292 v 38.45934 l -14.106106,-0.15741 v 0.15741 -53.89033 h 18.379631 c 8.060629,0 14.372471,2.07321 18.93553,6.21963 5.420081,4.95996 8.130122,11.69133 8.130122,20.19412 0,8.13538 -2.316275,14.77491 -6.948822,19.91857 -4.632547,5.14366 -10.476609,7.5929 -17.772872,7.5929 -0.857021,0 -2.402771,-0.028 -4.324371,-0.0348 v -15.78527 l 3.885273,-0.0213 c 8.222652,-0.045 10.707244,-3.87586 10.707244,-11.67008 0,-7.32185 -4.041895,-10.98277 -12.125687,-10.98277 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.66361171;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8463"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 77.907188,553.35652 q 7.365748,0 12.612105,6.02282 5.281101,5.98343 5.281101,14.36813 0,8.50278 -5.350592,14.48624 -5.315846,5.98344 -12.855317,5.98344 -7.539464,0 -12.890055,-5.98344 -5.350596,-6.02281 -5.350596,-14.48624 0,-8.62088 5.350596,-14.48624 5.350591,-5.90471 13.202758,-5.90471 z m -0.347444,14.5256 q -2.084646,0 -3.543897,1.73205 -1.459254,1.69269 -1.459254,4.17266 0,2.44062 1.459254,4.17267 1.493996,1.73205 3.543897,1.73205 2.084649,0 3.5439,-1.73205 1.493991,-1.73205 1.493991,-4.17267 0,-2.47997 -1.459246,-4.17266 -1.459254,-1.73205 -3.578645,-1.73205 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.66361171;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8465"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
d="m 114.21477,540.32682 v 53.89033 h -12.99429 v -53.89033 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.66361171;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8467"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
d="m 134.79383,554.19861 v 40.01854 h -12.9943 v -40.01854 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:194.85823059px;line-height:125%;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#a05a2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.57185936;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.18431373"
|
||||
id="path8467-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
<ellipse
|
||||
style="display:inline;fill:#a05a2c;fill-opacity:1;stroke:none;stroke-width:0.40034935;stroke-opacity:1"
|
||||
id="path957"
|
||||
cx="128.25832"
|
||||
cy="542.88831"
|
||||
rx="6.7222133"
|
||||
ry="7.1090221" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.3 KiB |
@ -20,6 +20,7 @@
|
||||
--colorbacklinebreak: rgb(<?php print $colorbacklinebreak; ?>);
|
||||
--colorbackbody: rgb(<?php print $colorbackbody; ?>);
|
||||
--colortexttitlenotab: rgb(<?php print $colortexttitlenotab; ?>);
|
||||
--colortexttitlenotab2: rgb(<?php print $colortexttitlenotab2; ?>);
|
||||
--colortexttitle: rgb(<?php print $colortexttitle; ?>);
|
||||
--colortext: rgb(<?php print $colortext; ?>);
|
||||
--colortextlink: rgb(<?php print $colortextlink; ?>);
|
||||
@ -31,7 +32,7 @@
|
||||
--tooltipbgcolor: <?php print $toolTipBgColor; ?>;
|
||||
--tooltipfontcolor : <?php print $toolTipFontColor; ?>;
|
||||
--oddevencolor: #202020;
|
||||
--colorboxstatsborder: #ddd;
|
||||
--colorboxstatsborder: #e0e0e0;
|
||||
--dolgraphbg: rgba(255,255,255,0);
|
||||
--fieldrequiredcolor: #000055;
|
||||
--colortextbacktab: #<?php print $colortextbacktab; ?>;
|
||||
@ -62,6 +63,7 @@ if (!empty($conf->global->MAIN_THEME_DARKMODEENABLED)) {
|
||||
--colorbackbody: #1d1e20;
|
||||
--tooltipbgcolor: #2b2d2f;
|
||||
--colortexttitlenotab: rgb(220,220,220);
|
||||
--colortexttitlenotab2: rgb(220,220,220);
|
||||
--colortexttitle: rgb(220,220,220);
|
||||
--colortext: rgb(220,220,220);
|
||||
--colortextlink: #4390dc;
|
||||
@ -1961,6 +1963,9 @@ div.mainmenu {
|
||||
margin-left: 0px;
|
||||
min-width: 40px;
|
||||
}
|
||||
a.tmenuimage:focus, .mainmenu.topmenuimage:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* For mainmenu, we always load the img */
|
||||
|
||||
@ -2688,7 +2693,7 @@ div.tabBar.tabBarNoTop {
|
||||
/* tabBar used for creation/update/send forms */
|
||||
div.tabBarWithBottom {
|
||||
padding-bottom: 18px;
|
||||
border-bottom: 1px solid #aaa;
|
||||
border-bottom: 1px solid #bbb;
|
||||
}
|
||||
div.tabBarWithBottom tr {
|
||||
background: unset !important;
|
||||
@ -3588,7 +3593,7 @@ ul.noborder li:nth-child(even):not(.liste_titre) {
|
||||
background: var(--colorbackbody);
|
||||
border: 1px solid var(--colorboxstatsborder);
|
||||
border-left: 6px solid var(--colorboxstatsborder);
|
||||
box-shadow: 1px 1px 8px var(--colorboxstatsborder);
|
||||
/* box-shadow: 1px 1px 8px var(--colorboxstatsborder); */
|
||||
border-radius: 0px;
|
||||
}
|
||||
.boxstats, .boxstats130, .boxstatscontent {
|
||||
@ -3841,7 +3846,7 @@ div.info {
|
||||
padding-bottom: 8px;
|
||||
margin: 1em 0em 1em 0em;
|
||||
background: #eff8fc;
|
||||
color: #668;
|
||||
color: #558;
|
||||
}
|
||||
|
||||
/* Warning message */
|
||||
@ -3981,9 +3986,14 @@ div.titre {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
div.titre, .secondary {
|
||||
font-family: <?php print $fontlist ?>;
|
||||
color: var(--colortexttitlenotab);
|
||||
.secondary, div.titre {
|
||||
color: var(--colortexttitlenotab);
|
||||
}
|
||||
.tertiary {
|
||||
color: var(--colortexttitlenotab2);
|
||||
}
|
||||
table.table-fiche-title:first-of-type div {
|
||||
color: var(--colortexttitlenotab);
|
||||
}
|
||||
|
||||
table.table-fiche-title .col-title div.titre{
|
||||
|
||||
@ -198,12 +198,10 @@ a.info-box-text{ text-decoration: none;}
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||
|
||||
$prefix = '';
|
||||
//$prefix = 'background-';
|
||||
if (!empty($conf->global->THEME_INFOBOX_COLOR_ON_BACKGROUND)) $prefix = 'background-';
|
||||
|
||||
if (!isset($conf->global->THEME_AGRESSIVENESS_RATIO) && $prefix) $conf->global->THEME_AGRESSIVENESS_RATIO = -50;
|
||||
if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENESS_RATIO = GETPOST('THEME_AGRESSIVENESS_RATIO', 'int');
|
||||
//var_dump($conf->global->THEME_AGRESSIVENESS_RATIO);
|
||||
if (!isset($conf->global->THEME_SATURATE_RATIO)) $conf->global->THEME_SATURATE_RATIO = 0.7;
|
||||
if (GETPOSTISSET('THEME_SATURATE_RATIO')) $conf->global->THEME_SATURATE_RATIO = GETPOST('THEME_SATURATE_RATIO', 'int');
|
||||
|
||||
?>
|
||||
.info-box-icon {
|
||||
@ -211,38 +209,76 @@ if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENES
|
||||
color: #fff !important;
|
||||
<?php } ?>
|
||||
opacity: 0.95;
|
||||
<?php if (isset($conf->global->THEME_SATURATE_RATIO)) { ?>
|
||||
filter: saturate(<?php echo $conf->global->THEME_SATURATE_RATIO; ?>);
|
||||
<?php } ?>
|
||||
}
|
||||
|
||||
.bg-infobox-project{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#6c6aa8', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #6c6aa8 !important;
|
||||
}
|
||||
.bg-infobox-action{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#a47080', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #a47080 !important;
|
||||
}
|
||||
.bg-infobox-propal,
|
||||
.bg-infobox-facture,
|
||||
.bg-infobox-commande{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#99a17d', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #99a17d !important;
|
||||
}
|
||||
.bg-infobox-supplier_proposal,
|
||||
.bg-infobox-invoice_supplier,
|
||||
.bg-infobox-order_supplier{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#599caf', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #599caf !important;
|
||||
}
|
||||
.bg-infobox-contrat, .bg-infobox-ticket{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#46a676', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #46a676 !important;
|
||||
}
|
||||
.bg-infobox-bank_account{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#b0a53e', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #b0a53e !important;
|
||||
}
|
||||
.bg-infobox-adherent, .bg-infobox-member {
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#79633f', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #79633f !important;
|
||||
}
|
||||
.bg-infobox-expensereport{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#79633f', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #79633f !important;
|
||||
}
|
||||
.bg-infobox-holiday{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#755114', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #755114 !important;
|
||||
}
|
||||
|
||||
.infobox-adherent, .infobox-member {
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-project{
|
||||
color: #6c6aa8 !important;
|
||||
}
|
||||
.infobox-action{
|
||||
color: #a47080 !important;
|
||||
}
|
||||
.infobox-propal,
|
||||
.infobox-facture,
|
||||
.infobox-commande{
|
||||
color: #99a17d !important;
|
||||
}
|
||||
.infobox-supplier_proposal,
|
||||
.infobox-invoice_supplier,
|
||||
.infobox-order_supplier{
|
||||
color: #599caf !important;
|
||||
}
|
||||
.infobox-contrat, .infobox-ticket{
|
||||
color: #46a676 !important;
|
||||
}
|
||||
.infobox-bank_account{
|
||||
color: #b0a53e !important;
|
||||
}
|
||||
.infobox-adherent, .infobox-member {
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-expensereport{
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-holiday{
|
||||
color: #755114 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli = $conf->global->MAIN_
|
||||
"name": "<?php echo $appli; ?>",
|
||||
"icons": [
|
||||
{
|
||||
"src": "<?php echo DOL_URL_ROOT.'/theme/dolibarr_logo_256x256.png'; ?>",
|
||||
"src": "<?php echo DOL_URL_ROOT.'/theme/dolibarr_256x256_color.png'; ?>",
|
||||
"sizes": "256x256",
|
||||
"type": "image/png"
|
||||
}
|
||||
|
||||
@ -237,7 +237,7 @@ print 'fontsizesmaller='.$fontsizesmaller."\n";
|
||||
print 'topMenuFontSize='.$topMenuFontSize."\n";
|
||||
print 'toolTipBgColor='.$toolTipBgColor."\n";
|
||||
print 'toolTipFontColor='.$toolTipFontColor."\n";
|
||||
print 'conf->global->THEME_AGRESSIVENESS_RATIO='.$conf->global->THEME_AGRESSIVENESS_RATIO." (must be between -100 and +100)\n";
|
||||
print 'conf->global->THEME_SATURATE_RATIO='.$conf->global->THEME_SATURATE_RATIO." (must be between 0 and 1)\n";
|
||||
print '*/'."\n";
|
||||
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ $theme_bgcolor = array(hexdec('F4'), hexdec('F4'), hexdec('F4'));
|
||||
$theme_bgcoloronglet = array(hexdec('DE'), hexdec('E7'), hexdec('EC'));
|
||||
|
||||
// Colors
|
||||
$colorbackhmenu1 = '55,61,90'; // topmenu
|
||||
$colorbackhmenu1 = '38,60,92'; // topmenu
|
||||
$colorbackvmenu1 = '250,250,250'; // vmenu
|
||||
$colortopbordertitle1 = '215,215,215'; // top border of title
|
||||
$colorbacktitle1 = '233,234,237'; // title of tables,list
|
||||
@ -67,21 +67,22 @@ $colorbacklinepairhover = '230,237,244'; // line hover
|
||||
$colorbacklinepairchecked = '230,237,244'; // line checked
|
||||
$colorbacklinebreak = '248,247,244'; // line break
|
||||
$colorbackbody = '255,255,255';
|
||||
$colortexttitlenotab = '0,113,120'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120
|
||||
$colortexttitlenotab = '0,123,140'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120
|
||||
$colortexttitlenotab2 = '100,0,100'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120
|
||||
$colortexttitle = '0,0,0';
|
||||
$colortexttitlelink = '10, 20, 100';
|
||||
$colortext = '0,0,0';
|
||||
$colortextlink = '10, 20, 100';
|
||||
$fontsize = '0.86em';
|
||||
$fontsizesmaller = '0.75em';
|
||||
$topMenuFontSize = '1.2em';
|
||||
$topMenuFontSize = '1.1em';
|
||||
$toolTipBgColor = 'rgba(255, 255, 255, 0.96)';
|
||||
$toolTipFontColor = '#333';
|
||||
|
||||
// text color
|
||||
$textSuccess = '#28a745';
|
||||
$colorblind_deuteranopes_textSuccess = '#37de5d';
|
||||
$textWarning = '#a37c0d'; // See $badgeWarning
|
||||
$textWarning = '#bc9526'; // See $badgeWarning
|
||||
$textDanger = '#9f4705'; // See $badgeDanger
|
||||
$colorblind_deuteranopes_textWarning = $textWarning; // currently not tested with a color blind people so use default color
|
||||
|
||||
@ -90,7 +91,7 @@ $colorblind_deuteranopes_textWarning = $textWarning; // currently not tested wit
|
||||
$badgePrimary = '#007bff';
|
||||
$badgeSecondary = '#cccccc';
|
||||
$badgeSuccess = '#55a580';
|
||||
$badgeWarning = '#a37c0d'; // See $textDanger bc9526
|
||||
$badgeWarning = '#bc9526'; // See $textWarning bc9526
|
||||
$badgeDanger = '#9f4705'; // See $textDanger
|
||||
$badgeInfo = '#aaaabb';
|
||||
$badgeDark = '#343a40';
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
@ -8,42 +8,82 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||
|
||||
$prefix = '';
|
||||
//$prefix = 'background-';
|
||||
if (!empty($conf->global->THEME_INFOBOX_COLOR_ON_BACKGROUND)) $prefix = 'background-';
|
||||
|
||||
if (!isset($conf->global->THEME_SATURATE_RATIO)) $conf->global->THEME_SATURATE_RATIO = 0.5;
|
||||
if (GETPOSTISSET('THEME_SATURATE_RATIO')) $conf->global->THEME_SATURATE_RATIO = GETPOST('THEME_SATURATE_RATIO', 'int');
|
||||
|
||||
?>
|
||||
|
||||
.bg-infobox-project{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#6c6aa8', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #6c6aa8 !important;
|
||||
}
|
||||
.bg-infobox-action{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#a47080', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #a47080 !important;
|
||||
}
|
||||
.bg-infobox-propal,
|
||||
.bg-infobox-facture,
|
||||
.bg-infobox-commande{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#99a17d', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #99a17d !important;
|
||||
}
|
||||
.bg-infobox-supplier_proposal,
|
||||
.bg-infobox-invoice_supplier,
|
||||
.bg-infobox-order_supplier{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#599caf', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #599caf !important;
|
||||
}
|
||||
.bg-infobox-contrat, .bg-infobox-ticket{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#46a676', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #46a676 !important;
|
||||
}
|
||||
.bg-infobox-bank_account{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#b0a53e', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #b0a53e !important;
|
||||
}
|
||||
.bg-infobox-adherent, .bg-infobox-member{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#79633f', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #79633f !important;
|
||||
}
|
||||
.bg-infobox-expensereport{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#79633f', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #79633f !important;
|
||||
}
|
||||
.bg-infobox-holiday{
|
||||
<?php echo $prefix; ?>color: <?php print colorAgressiveness('#755114', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
<?php echo $prefix; ?>color: #755114 !important;
|
||||
}
|
||||
|
||||
|
||||
.infobox-adherent, .infobox-member {
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-project{
|
||||
color: #6c6aa8 !important;
|
||||
}
|
||||
.infobox-action{
|
||||
color: #a47080 !important;
|
||||
}
|
||||
.infobox-propal,
|
||||
.infobox-facture,
|
||||
.infobox-commande{
|
||||
color: #99a17d !important;
|
||||
}
|
||||
.infobox-supplier_proposal,
|
||||
.infobox-invoice_supplier,
|
||||
.infobox-order_supplier{
|
||||
color: #599caf !important;
|
||||
}
|
||||
.infobox-contrat, .infobox-ticket{
|
||||
color: #46a676 !important;
|
||||
}
|
||||
.infobox-bank_account{
|
||||
color: #b0a53e !important;
|
||||
}
|
||||
.infobox-adherent, .infobox-member {
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-expensereport{
|
||||
color: #79633f !important;
|
||||
}
|
||||
.infobox-holiday{
|
||||
color: #755114 !important;
|
||||
}
|
||||
|
||||
|
||||
.info-box-module-external span.info-box-icon-version {
|
||||
background: #bbb;
|
||||
}
|
||||
@ -102,6 +142,9 @@ if (!empty($conf->global->THEME_INFOBOX_COLOR_ON_BACKGROUND)) $prefix = 'backgro
|
||||
font-size: 45px;
|
||||
line-height: 90px;
|
||||
background: #eee;
|
||||
<?php if (isset($conf->global->THEME_SATURATE_RATIO)) { ?>
|
||||
filter: saturate(<?php echo $conf->global->THEME_SATURATE_RATIO; ?>);
|
||||
<?php } ?>
|
||||
}
|
||||
.info-box-sm .info-box-icon {
|
||||
width: 80px;
|
||||
@ -233,39 +276,39 @@ a.info-box-text{ text-decoration: none;}
|
||||
}
|
||||
<?php
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||
if (!isset($conf->global->THEME_AGRESSIVENESS_RATIO)) $conf->global->THEME_AGRESSIVENESS_RATIO = -100;
|
||||
if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENESS_RATIO = GETPOST('THEME_AGRESSIVENESS_RATIO', 'int');
|
||||
if (!isset($conf->global->THEME_SATURATE_RATIO)) $conf->global->THEME_SATURATE_RATIO = 0.7;
|
||||
if (GETPOSTISSET('THEME_SATURATE_RATIO')) $conf->global->THEME_SATURATE_RATIO = GETPOST('THEME_SATURATE_RATIO', 'int');
|
||||
?>
|
||||
.bg-infobox-project i.fa{
|
||||
color: <?php print colorAgressiveness('#605ca8', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #605ca8 !important;
|
||||
}
|
||||
.bg-infobox-action i.fa{
|
||||
color: <?php print colorAgressiveness('#d84b80', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #d84b80 !important;
|
||||
}
|
||||
.bg-infobox-propal i.fa,
|
||||
.bg-infobox-facture i.fa,
|
||||
.bg-infobox-commande i.fa{
|
||||
color: <?php print colorAgressiveness('#abb87b', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #abb87b !important;
|
||||
}
|
||||
.bg-infobox-supplier_proposal i.fa,
|
||||
.bg-infobox-invoice_supplier i.fa,
|
||||
.bg-infobox-order_supplier i.fa{
|
||||
color: <?php print colorAgressiveness('#40b0cf', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #40b0cf !important;
|
||||
}
|
||||
.bg-infobox-contrat i.fa, .bg-infobox-ticket i.fa{
|
||||
color: <?php print colorAgressiveness('#20a68a', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #20a68a !important;
|
||||
}
|
||||
.bg-infobox-bank_account i.fa{
|
||||
color: <?php print colorAgressiveness('#b0a53e', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #b0a53e !important;
|
||||
}
|
||||
.bg-infobox-adherent i.fa, .bg-infobox-member i.fa{
|
||||
color: <?php print colorAgressiveness('#f39c12', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #755114 !important;
|
||||
}
|
||||
.bg-infobox-expensereport i.fa{
|
||||
color: <?php print colorAgressiveness('#755114', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #755114 !important;
|
||||
}
|
||||
.bg-infobox-holiday i.fa{
|
||||
color: <?php print colorAgressiveness('#755114', $conf->global->THEME_AGRESSIVENESS_RATIO); ?> !important;
|
||||
color: #755114 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_AP
|
||||
"name": "<?php echo $appli; ?>",
|
||||
"icons": [
|
||||
{
|
||||
"src": "<?php echo DOL_URL_ROOT.'/theme/dolibarr_logo_256x256.png'; ?>",
|
||||
"src": "<?php echo DOL_URL_ROOT.'/theme/dolibarr_256x256_color.png'; ?>",
|
||||
"sizes": "256x256",
|
||||
"type": "image/png"
|
||||
}
|
||||
|
||||
@ -2005,6 +2005,9 @@ div.mainmenu {
|
||||
margin-left: 0px;
|
||||
min-width: 40px;
|
||||
}
|
||||
a.tmenuimage:focus, .mainmenu.topmenuimage:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Do not load menu img if hidden to save bandwidth */
|
||||
<?php if (empty($dol_hide_topmenu)) { ?>
|
||||
@ -3921,8 +3924,10 @@ div.titre {
|
||||
/* text-shadow: 1px 1px 2px #FFFFFF; */
|
||||
<?php print (empty($conf->dol_optimize_smallscreen) ? '' : 'margin-top: 4px;'); ?>
|
||||
}
|
||||
div.titre, .secondary {
|
||||
font-family: <?php print $fontlist ?>;
|
||||
.secondary, div.titre {
|
||||
color: var(--colortexttitlenotab);
|
||||
}
|
||||
.tertiary {
|
||||
color: var(--colortexttitlenotab);
|
||||
}
|
||||
|
||||
|
||||
@ -184,7 +184,7 @@ class Ticket extends CommonObject
|
||||
'track_id' => array('type'=>'varchar(255)', 'label'=>'TicketTrackId', 'visible'=>-2, 'enabled'=>1, 'position'=>11, 'notnull'=>-1, 'searchall'=>1, 'help'=>"Help text"),
|
||||
'fk_user_create' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'Author', 'visible'=>1, 'enabled'=>1, 'position'=>15, 'notnull'=>1, 'css'=>'tdoverflowmax150 maxwidth150onsmartphone'),
|
||||
'origin_email' => array('type'=>'mail', 'label'=>'OriginEmail', 'visible'=>-2, 'enabled'=>1, 'position'=>16, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", 'css'=>'tdoverflowmax150'),
|
||||
'subject' => array('type'=>'varchar(255)', 'label'=>'Subject', 'visible'=>1, 'enabled'=>1, 'position'=>18, 'notnull'=>-1, 'searchall'=>1, 'help'=>"", 'css'=>'maxwidth75'),
|
||||
'subject' => array('type'=>'varchar(255)', 'label'=>'Subject', 'visible'=>1, 'enabled'=>1, 'position'=>18, 'notnull'=>-1, 'searchall'=>1, 'help'=>"", 'css'=>'maxwidth75', 'autofocusoncreate'=>1),
|
||||
'type_code' => array('type'=>'varchar(32)', 'label'=>'Type', 'visible'=>1, 'enabled'=>1, 'position'=>20, 'notnull'=>-1, 'searchall'=>1, 'help'=>"", 'css'=>'maxwidth100'),
|
||||
'category_code' => array('type'=>'varchar(32)', 'label'=>'TicketGroup', 'visible'=>-1, 'enabled'=>1, 'position'=>21, 'notnull'=>-1, 'help'=>"", 'css'=>'maxwidth100'),
|
||||
'severity_code' => array('type'=>'varchar(32)', 'label'=>'Severity', 'visible'=>1, 'enabled'=>1, 'position'=>22, 'notnull'=>-1, 'help'=>"", 'css'=>'maxwidth100'),
|
||||
|
||||
@ -43,6 +43,8 @@ $joomlaserverinfo = empty($argv[3]) ? '' : $argv[3];
|
||||
$image = 'image/__WEBSITE_KEY__/images/stories/dolibarr.png';
|
||||
|
||||
$max = (!isset($argv[4]) || (empty($argv[4]) && $argv[4] !== '0')) ? '10' : $argv[4];
|
||||
$excludeid = (empty($argv[5]) ? '' : $argv[5]);
|
||||
$forcelang = (empty($argv[6]) ? '' : $argv[6]);
|
||||
|
||||
if (empty($argv[3]) || !in_array($argv[1], array('test', 'confirm')) || empty($websiteref)) {
|
||||
print '***** '.$script_file.' *****'."\n";
|
||||
@ -87,6 +89,7 @@ if ($dbjoomla->error)
|
||||
$sql = 'SELECT c.id, c.title, c.alias, c.created, c.introtext, `fulltext`, c.metadesc, c.metakey, c.language, c.created, c.publish_up, u.username FROM '.$joomlaprefix.'_content as c';
|
||||
$sql .= ' LEFT JOIN '.$joomlaprefix.'_users as u ON u.id = c.created_by';
|
||||
$sql .= ' WHERE featured = 1';
|
||||
$sql .= ' AND c.id NOT IN ('.$excludeid.')';
|
||||
$sql .= ' ORDER BY publish_up ASC';
|
||||
$resql = $dbjoomla->query($sql);
|
||||
|
||||
@ -134,7 +137,7 @@ while ($obj = $dbjoomla->fetch_object($resql)) {
|
||||
}
|
||||
if ($blogpostfooter) $htmltext .= "\n".$blogpostfooter;
|
||||
|
||||
$language = ($obj->language && $obj->language != '*' ? $obj->language : 'en');
|
||||
$language = ($forcelang ? $forcelang : ($obj->language && $obj->language != '*' ? $obj->language : 'en'));
|
||||
$keywords = $obj->metakey;
|
||||
$author_alias = $obj->username;
|
||||
|
||||
|
||||