Merge branch 'develop' into fix_look_and_feel
This commit is contained in:
commit
e4c25a72fb
16
README-FR.md
16
README-FR.md
@ -8,12 +8,10 @@ Il est simple d'utilisation et modulaire, vous permettant de n'activez que les f
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
## LICENCE
|
## LICENCE
|
||||||
|
|
||||||
Dolibarr est distribué sous les termes de la licence GNU General Public License v3+ ou supérieure.
|
Dolibarr est distribué sous les termes de la licence GNU General Public License v3+ ou supérieure.
|
||||||
|
|
||||||
|
|
||||||
## INSTALLER DOLIBARR
|
## INSTALLER DOLIBARR
|
||||||
|
|
||||||
### Configuration simple
|
### Configuration simple
|
||||||
@ -54,7 +52,6 @@ Vous pouvez aussi utiliser un serveur Web et une base de données prise en charg
|
|||||||
|
|
||||||
- Suivez les instructions de l'installateur
|
- Suivez les instructions de l'installateur
|
||||||
|
|
||||||
|
|
||||||
## METTRE A JOUR DOLIBARR
|
## METTRE A JOUR DOLIBARR
|
||||||
|
|
||||||
Pour mettre à jour Dolibarr depuis une vieille version vers celle ci:
|
Pour mettre à jour Dolibarr depuis une vieille version vers celle ci:
|
||||||
@ -65,14 +62,12 @@ Pour mettre à jour Dolibarr depuis une vieille version vers celle ci:
|
|||||||
- Au prochain accès, Dolibarr proposera la page de "mise à jour" des données (si nécessaire).
|
- Au prochain accès, Dolibarr proposera la page de "mise à jour" des données (si nécessaire).
|
||||||
Si un fichier install.lock existe pour verrouiller le processus de mise à jour, il sera demandé de le supprimer manuellement (vous devriez trouver le fichier install.lock dans le répertoire utilisé pour stocker les documents générés ou transférés sur le serveur. Dans la plupart des cas, c'est le répertoire appelé "documents")
|
Si un fichier install.lock existe pour verrouiller le processus de mise à jour, il sera demandé de le supprimer manuellement (vous devriez trouver le fichier install.lock dans le répertoire utilisé pour stocker les documents générés ou transférés sur le serveur. Dans la plupart des cas, c'est le répertoire appelé "documents")
|
||||||
|
|
||||||
*Note: Le processus de migration peut être lancé manuellement et plusieurs fois, sans risque, en appelant la page /install/*
|
Note: *Le processus de migration peut être lancé manuellement et plusieurs fois, sans risque, en appelant la page /install/*
|
||||||
|
|
||||||
|
|
||||||
## CE QUI EST NOUVEAU
|
## CE QUI EST NOUVEAU
|
||||||
|
|
||||||
See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) file.
|
See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) file.
|
||||||
|
|
||||||
|
|
||||||
## CE QUE DOLIBARR PEUT FAIRE
|
## CE QUE DOLIBARR PEUT FAIRE
|
||||||
|
|
||||||
### Modules principaux (tous optionnels)
|
### Modules principaux (tous optionnels)
|
||||||
@ -122,7 +117,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
|||||||
- Peux être multi-société par ajout du module externe multi-société.
|
- Peux être multi-société par ajout du module externe multi-société.
|
||||||
- Plusieurs thèmes visuels.
|
- Plusieurs thèmes visuels.
|
||||||
- Application simple à utiliser.
|
- Application simple à utiliser.
|
||||||
- Requiert PHP et MariaDb, Mysql ou Postgresql (Voir versions exactes sur https://wiki.dolibarr.org/index.php/Prérequis).
|
- Requiert PHP et MariaDb, Mysql ou Postgresql (Voir versions exactes sur [https://wiki.dolibarr.org/index.php/Prérequis](https://wiki.dolibarr.org/index.php/Prérequis)).
|
||||||
- Compatible avec toutes les offres Cloud du marché respectant les prérequis de base de données et PHP.
|
- Compatible avec toutes les offres Cloud du marché respectant les prérequis de base de données et PHP.
|
||||||
- APIs.
|
- APIs.
|
||||||
- Génération PDF et ODT des éléments (factures, propositions commerciales, commandes, bons expéditions, etc...)
|
- Génération PDF et ODT des éléments (factures, propositions commerciales, commandes, bons expéditions, etc...)
|
||||||
@ -142,7 +137,6 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
|||||||
|
|
||||||
Dolibarr peut aussi être étendu à volonté avec l'ajout de module/applications externes développées par des développeus tiers, disponible sur [DoliStore](https://www.dolistore.com).
|
Dolibarr peut aussi être étendu à volonté avec l'ajout de module/applications externes développées par des développeus tiers, disponible sur [DoliStore](https://www.dolistore.com).
|
||||||
|
|
||||||
|
|
||||||
## CE QUE DOLIBARR NE PEUT PAS (ENCORE) FAIRE
|
## CE QUE DOLIBARR NE PEUT PAS (ENCORE) FAIRE
|
||||||
|
|
||||||
Voici un liste de fonctionnalités pas encore gérées par Dolibarr:
|
Voici un liste de fonctionnalités pas encore gérées par Dolibarr:
|
||||||
@ -152,18 +146,15 @@ Voici un liste de fonctionnalités pas encore gérées par Dolibarr:
|
|||||||
- Dolibarr n'embarque pas de Webmail intégré nativement.
|
- Dolibarr n'embarque pas de Webmail intégré nativement.
|
||||||
- Dolibarr ne fait pas le café (pas encore).
|
- Dolibarr ne fait pas le café (pas encore).
|
||||||
|
|
||||||
|
|
||||||
## DOCUMENTATION
|
## DOCUMENTATION
|
||||||
|
|
||||||
La documentation utilisateur, développeur et traducteur est disponible sous forme de ressources de la communauté via le site [Wiki](https://wiki.dolibarr.org).
|
La documentation utilisateur, développeur et traducteur est disponible sous forme de ressources de la communauté via le site [Wiki](https://wiki.dolibarr.org).
|
||||||
|
|
||||||
|
|
||||||
## CONTRIBUER
|
## CONTRIBUER
|
||||||
|
|
||||||
Ce projet existe grâce à ses nombreux contributeurs [[Contribuer](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)].
|
Ce projet existe grâce à ses nombreux contributeurs [[Contribuer](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)].
|
||||||
|
|
||||||
<a href="https://github.com/Dolibarr/dolibarr/graphs/contributors"><img src="https://opencollective.com/dolibarr/contributors.svg?width=890&button=false" /></a>
|
[](https://github.com/Dolibarr/dolibarr/graphs/contributors)
|
||||||
|
|
||||||
|
|
||||||
## CREDITS
|
## CREDITS
|
||||||
|
|
||||||
@ -171,7 +162,6 @@ Dolibarr est le résultat du travail de nombreux contributeurs depuis des année
|
|||||||
|
|
||||||
Voir le fichier [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT)
|
Voir le fichier [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT)
|
||||||
|
|
||||||
|
|
||||||
## ACTUALITES ET RESEAUX SOCIAUX
|
## ACTUALITES ET RESEAUX SOCIAUX
|
||||||
|
|
||||||
Suivez le projet Dolibarr project sur les réseaux francophones
|
Suivez le projet Dolibarr project sur les réseaux francophones
|
||||||
|
|||||||
123
README.md
123
README.md
@ -43,7 +43,7 @@ You can use a web server and a supported database (MariaDB, MySQL or PostgreSQL)
|
|||||||
|
|
||||||
On GNU/Linux, first check if your distribution has already packaged Dolibarr.
|
On GNU/Linux, first check if your distribution has already packaged Dolibarr.
|
||||||
|
|
||||||
#### Generic install steps:
|
#### Generic install steps
|
||||||
|
|
||||||
- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Releases).
|
- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Releases).
|
||||||
|
|
||||||
@ -71,86 +71,87 @@ On GNU/Linux, first check if your distribution has already packaged Dolibarr.
|
|||||||
|
|
||||||
- Follow the installer instructions
|
- Follow the installer instructions
|
||||||
|
|
||||||
|
|
||||||
### Saas/Cloud setup
|
### Saas/Cloud setup
|
||||||
|
|
||||||
If you don't have time to install it yourself, you can try some commercial 'ready to use' Cloud offers (See https://saas.dolibarr.org). However, this third solution is not free.
|
If you don't have time to install it yourself, you can try some commercial 'ready to use' Cloud offers (See [https://saas.dolibarr.org](https://saas.dolibarr.org)). However, this third solution is not free.
|
||||||
|
|
||||||
|
|
||||||
## UPGRADING
|
## UPGRADING
|
||||||
|
|
||||||
Dolibarr supports upgrading, usually without the need for any (commercial) support (depending on if you use any commercial extensions). It supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate!
|
Dolibarr supports upgrading, usually without the need for any (commercial) support (depending on if you use any commercial extensions). It supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate!
|
||||||
|
|
||||||
- At first make a backup of your Dolibarr files & then [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr)
|
- At first make a backup of your Dolibarr files & then [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr)
|
||||||
- Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md).
|
- Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md).
|
||||||
- Overwrite all old files from 'dolibarr' directory with files provided into the new version's package.
|
- Overwrite all old files from 'dolibarr' directory with files provided into the new version's package.
|
||||||
- At first next access, Dolibarr will redirect you to the "install/" page to follow the upgrade process.
|
- At first next access, Dolibarr will redirect you to the "install/" page to follow the upgrade process.
|
||||||
If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file in the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*").
|
If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file in the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*").
|
||||||
|
|
||||||
|
|
||||||
## WHAT'S NEW
|
## WHAT'S NEW
|
||||||
|
|
||||||
See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) file.
|
See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) file.
|
||||||
|
|
||||||
|
|
||||||
## FEATURES
|
## FEATURES
|
||||||
|
|
||||||
### Main application/modules (all optional)
|
### Main application/modules (all optional)
|
||||||
|
|
||||||
- Third-Parties Management: Customers, Prospects (Leads) and/or Suppliers + Contacts
|
- Third-Parties Management: Customers, Prospects (Leads) and/or Suppliers + Contacts
|
||||||
- Members/Membership/Foundation management
|
- Members/Membership/Foundation management
|
||||||
|
|
||||||
Product Management
|
Product Management
|
||||||
- Products and/or Services catalog
|
|
||||||
- Stock / Warehouse management + Inventory
|
- Products and/or Services catalog
|
||||||
- Barcodes
|
- Stock / Warehouse management + Inventory
|
||||||
- Batches / Lots / Serials
|
- Barcodes
|
||||||
- Product Variants
|
- Batches / Lots / Serials
|
||||||
|
- Product Variants
|
||||||
- Bill of Materials (BOM)
|
- Bill of Materials (BOM)
|
||||||
- Manufacturing Orders
|
- Manufacturing Orders
|
||||||
|
|
||||||
Customer/Sales Management
|
Customer/Sales Management
|
||||||
- Customers/Prospects + Contacts management
|
|
||||||
- Opportunities or Leads management
|
|
||||||
- Commercial proposals management
|
|
||||||
- Customer Orders management
|
|
||||||
- Contracts/Subscription management
|
|
||||||
- Interventions management
|
|
||||||
- Ticket System
|
|
||||||
- Shipping management
|
|
||||||
- Customer Invoices/Credit notes and payment management
|
|
||||||
- Point of Sale (POS)
|
|
||||||
|
|
||||||
Supplier/Purchase Management
|
- Customers/Prospects + Contacts management
|
||||||
- Suppliers/Vendors + Contacts
|
- Opportunities or Leads management
|
||||||
- Supplier (price) requests
|
- Commercial proposals management
|
||||||
- Purchase Orders management
|
- Customer Orders management
|
||||||
- Delivery/Receiption
|
- Contracts/Subscription management
|
||||||
- Supplier Invoices/credit notes and payment management
|
- Interventions management
|
||||||
- INCOTERMS
|
- Ticket System
|
||||||
|
- Shipping management
|
||||||
|
- Customer Invoices/Credit notes and payment management
|
||||||
|
- Point of Sale (POS)
|
||||||
|
|
||||||
Finance / Accounting
|
Supplier/Purchase Management
|
||||||
- Invoices / Payments
|
|
||||||
- Bank accounts management
|
|
||||||
- Direct debit orders management (European SEPA)
|
|
||||||
- Accounting management
|
|
||||||
- Donations management
|
|
||||||
- Loan management
|
|
||||||
- Margins
|
|
||||||
- Reports
|
|
||||||
|
|
||||||
Collaboration
|
- Suppliers/Vendors + Contacts
|
||||||
- Shared calendar/agenda (with ical and vcal export for third party tools integration)
|
- Supplier (price) requests
|
||||||
- Projects & Tasks management
|
- Purchase Orders management
|
||||||
- Ticket System
|
- Delivery/Receiption
|
||||||
|
- Supplier Invoices/credit notes and payment management
|
||||||
|
- INCOTERMS
|
||||||
|
|
||||||
|
Finance / Accounting
|
||||||
|
|
||||||
|
- Invoices / Payments
|
||||||
|
- Bank accounts management
|
||||||
|
- Direct debit orders management (European SEPA)
|
||||||
|
- Accounting management
|
||||||
|
- Donations management
|
||||||
|
- Loan management
|
||||||
|
- Margins
|
||||||
|
- Reports
|
||||||
|
|
||||||
|
Collaboration
|
||||||
|
|
||||||
|
- Shared calendar/agenda (with ical and vcal export for third party tools integration)
|
||||||
|
- Projects & Tasks management
|
||||||
|
- Ticket System
|
||||||
- Surveys
|
- Surveys
|
||||||
|
|
||||||
HR
|
HR
|
||||||
- Employee's leave requests management
|
|
||||||
- Expense reports
|
|
||||||
- Recruitment management
|
|
||||||
- Timesheets
|
|
||||||
|
|
||||||
|
- Employee's leave requests management
|
||||||
|
- Expense reports
|
||||||
|
- Recruitment management
|
||||||
|
- Timesheets
|
||||||
|
|
||||||
### Other application/modules
|
### Other application/modules
|
||||||
|
|
||||||
@ -171,7 +172,6 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
|||||||
|
|
||||||
(around 100 modules available by default, 1000+ on the addon market place)
|
(around 100 modules available by default, 1000+ on the addon market place)
|
||||||
|
|
||||||
|
|
||||||
### Other general features
|
### Other general features
|
||||||
|
|
||||||
- Localization in most major languages
|
- Localization in most major languages
|
||||||
@ -190,27 +190,24 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
|||||||
- Canadian double taxes (federal/province) and other countries using cumulative VAT
|
- Canadian double taxes (federal/province) and other countries using cumulative VAT
|
||||||
- Tunisian tax stamp
|
- Tunisian tax stamp
|
||||||
- Argentina invoice numbering using A,B,C...
|
- Argentina invoice numbering using A,B,C...
|
||||||
- Compatible with [European directives] (https://europa.eu/legislation_summaries/taxation/l31057_en.htm) (2006/112/CE ... 2010/45/UE)
|
- Compatible with [European directives](https://europa.eu/legislation_summaries/taxation/l31057_en.htm) (2006/112/CE ... 2010/45/UE)
|
||||||
- Compatible with European GDPR rules
|
- Compatible with European GDPR rules
|
||||||
- ...
|
- ...
|
||||||
- Flexible PDF & ODT generation for invoices, proposals, orders...
|
- Flexible PDF & ODT generation for invoices, proposals, orders...
|
||||||
- ...
|
- ...
|
||||||
|
|
||||||
|
|
||||||
### System Environment / Requirements
|
### System Environment / Requirements
|
||||||
|
|
||||||
- PHP
|
- PHP
|
||||||
- MariaDB, MySQL or PostgreSQL
|
- MariaDB, MySQL or PostgreSQL
|
||||||
- Compatible with all Cloud solutions that match PHP & MySQL or PostgreSQL prerequisites.
|
- Compatible with all Cloud solutions that match PHP & MySQL or PostgreSQL prerequisites.
|
||||||
|
|
||||||
See exact requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite)
|
See exact requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite)
|
||||||
|
|
||||||
|
|
||||||
### Extending
|
### Extending
|
||||||
|
|
||||||
Dolibarr can be extended with a lot of other external application or modules from third party developers available at the [DoliStore](https://www.dolistore.com).
|
Dolibarr can be extended with a lot of other external application or modules from third party developers available at the [DoliStore](https://www.dolistore.com).
|
||||||
|
|
||||||
|
|
||||||
## WHAT DOLIBARR CAN'T DO YET
|
## WHAT DOLIBARR CAN'T DO YET
|
||||||
|
|
||||||
These are features that Dolibarr does **not** yet fully support:
|
These are features that Dolibarr does **not** yet fully support:
|
||||||
@ -220,21 +217,18 @@ These are features that Dolibarr does **not** yet fully support:
|
|||||||
- No native embedded Webmail, but you can send email to contacts in Dolibarr with e.g. offers, invoices, etc.
|
- No native embedded Webmail, but you can send email to contacts in Dolibarr with e.g. offers, invoices, etc.
|
||||||
- Dolibarr can't do coffee (yet)
|
- Dolibarr can't do coffee (yet)
|
||||||
|
|
||||||
|
|
||||||
## DOCUMENTATION
|
## DOCUMENTATION
|
||||||
|
|
||||||
Administrator, user, developer and translator's documentations are available along with other community resources in the [Wiki](https://wiki.dolibarr.org).
|
Administrator, user, developer and translator's documentations are available along with other community resources in the [Wiki](https://wiki.dolibarr.org).
|
||||||
|
|
||||||
|
|
||||||
## CONTRIBUTING
|
## CONTRIBUTING
|
||||||
|
|
||||||
This project exists thanks to all the people who contribute.
|
This project exists thanks to all the people who contribute.
|
||||||
Please read the instructions how to contribute (report a bug/error, a feature request, send code ...) [[Contribute](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)]
|
Please read the instructions how to contribute (report a bug/error, a feature request, send code ...) [[Contribute](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)]
|
||||||
|
|
||||||
A view on Contributors:
|
A view on Contributors:
|
||||||
|
|
||||||
<a href="https://github.com/Dolibarr/dolibarr/graphs/contributors"><img src="https://opencollective.com/dolibarr/contributors.svg?width=890&button=false" /></a>
|
[](https://github.com/Dolibarr/dolibarr/graphs/contributors)
|
||||||
|
|
||||||
|
|
||||||
## CREDITS
|
## CREDITS
|
||||||
|
|
||||||
@ -242,7 +236,6 @@ Dolibarr is the work of many contributors over the years and uses some fine PHP
|
|||||||
|
|
||||||
See [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT) file.
|
See [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT) file.
|
||||||
|
|
||||||
|
|
||||||
## NEWS AND SOCIAL NETWORKS
|
## NEWS AND SOCIAL NETWORKS
|
||||||
|
|
||||||
Follow Dolibarr project on:
|
Follow Dolibarr project on:
|
||||||
@ -253,8 +246,6 @@ Follow Dolibarr project on:
|
|||||||
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
|
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
|
||||||
- [GitHub](https://github.com/Dolibarr/dolibarr)
|
- [GitHub](https://github.com/Dolibarr/dolibarr)
|
||||||
|
|
||||||
|
|
||||||
### Sponsors
|
### Sponsors
|
||||||
|
|
||||||
Support this project by becoming a sponsor. Your logo will show up here. 🙏 [[Become a sponsor/backer](https://opencollective.com/dolibarr#backer)]
|
Support this project by becoming a sponsor. Your logo will show up here. 🙏 [[Become a sponsor/backer](https://opencollective.com/dolibarr#backer)]
|
||||||
|
|
||||||
|
|||||||
@ -242,7 +242,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$conf->global->BOM_SUB_BOM=1;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
|
|||||||
@ -1909,9 +1909,7 @@ if ($id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
|
||||||
$morehtmlref .= '</a>';
|
|
||||||
if ($proj->title) {
|
if ($proj->title) {
|
||||||
$morehtmlref .= ' - '.$proj->title;
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -166,9 +166,7 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
|
||||||
$morehtmlref .= '</a>';
|
|
||||||
if ($proj->title) {
|
if ($proj->title) {
|
||||||
$morehtmlref .= ' - '.$proj->title;
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -93,9 +93,7 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
|
||||||
$morehtmlref .= '</a>';
|
|
||||||
if ($proj->title) {
|
if ($proj->title) {
|
||||||
$morehtmlref .= ' - '.$proj->title;
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2014,14 +2014,14 @@ if ($action == 'create') {
|
|||||||
$morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', 0, 1);
|
$morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', 0, 1);
|
||||||
$morehtmlref .= $form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', null, null, '', 1);
|
$morehtmlref .= $form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', null, null, '', 1);
|
||||||
// Thirdparty
|
// Thirdparty
|
||||||
$morehtmlref .= '<br>'.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1, 'customer');
|
$morehtmlref .= '<br><span class="hideonsmartphone">'.$langs->trans('ThirdParty').' : </span>'.$object->thirdparty->getNomUrl(1, 'customer');
|
||||||
if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
|
if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
|
||||||
$morehtmlref .= ' (<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?socid='.$object->thirdparty->id.'&search_societe='.urlencode($object->thirdparty->name).'">'.$langs->trans("OtherProposals").'</a>)';
|
$morehtmlref .= ' (<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?socid='.$object->thirdparty->id.'&search_societe='.urlencode($object->thirdparty->name).'">'.$langs->trans("OtherProposals").'</a>)';
|
||||||
}
|
}
|
||||||
// Project
|
// Project
|
||||||
if (!empty($conf->projet->enabled)) {
|
if (!empty($conf->projet->enabled)) {
|
||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
$morehtmlref .= '<br>'.$langs->trans('Project').' ';
|
$morehtmlref .= '<br><span class="paddingrightonly">'.$langs->trans('Project').'</span>';
|
||||||
if ($usercancreate) {
|
if ($usercancreate) {
|
||||||
if ($action != 'classify') {
|
if ($action != 'classify') {
|
||||||
$morehtmlref .= '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?action=classify&token='.newToken().'&id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a> : ';
|
$morehtmlref .= '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?action=classify&token='.newToken().'&id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a> : ';
|
||||||
@ -2041,9 +2041,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ': '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -166,9 +166,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,9 +159,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,9 +106,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -130,9 +130,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2075,9 +2075,10 @@ if ($action == 'create' && $usercancreate) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -161,9 +161,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -153,9 +153,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,9 +106,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -125,9 +125,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1218,9 +1218,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4259,9 +4259,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,9 +170,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -163,9 +163,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,9 +122,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -139,9 +139,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -371,9 +371,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -514,9 +514,10 @@ if ($id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -127,9 +127,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -94,9 +94,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -194,9 +194,10 @@ if ($id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1335,9 +1335,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -177,9 +177,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -167,9 +167,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -134,9 +134,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/bookmarks_page.php
|
* \file htdocs/core/bookmarks_page.php
|
||||||
* \brief File to return a page with the complete list of bookmarks (all search input fields)
|
* \brief File to return a page with the complete list of bookmarks
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language
|
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language
|
||||||
@ -45,7 +45,7 @@ if (GETPOST('lang', 'aZ09')) {
|
|||||||
$langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
|
$langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
|
||||||
}
|
}
|
||||||
|
|
||||||
$langs->load("main");
|
$langs->loadLangs(array("bookmarks"));
|
||||||
|
|
||||||
$right = ($langs->trans("DIRECTION") == 'rtl' ? 'left' : 'right');
|
$right = ($langs->trans("DIRECTION") == 'rtl' ? 'left' : 'right');
|
||||||
$left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
|
$left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
|
||||||
@ -57,7 +57,7 @@ $left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
|
|||||||
|
|
||||||
$title = $langs->trans("Bookmarks");
|
$title = $langs->trans("Bookmarks");
|
||||||
|
|
||||||
// URL http://mydolibarr/core/search_page?dol_use_jmobile=1 can be used for tests
|
// URL http://mydolibarr/core/bookmarks_page?dol_use_jmobile=1 can be used for tests
|
||||||
$head = '<!-- Bookmarks access -->'."\n";
|
$head = '<!-- Bookmarks access -->'."\n";
|
||||||
$arrayofjs = array();
|
$arrayofjs = array();
|
||||||
$arrayofcss = array();
|
$arrayofcss = array();
|
||||||
@ -69,8 +69,6 @@ print '<body>'."\n";
|
|||||||
print '<div>';
|
print '<div>';
|
||||||
//print '<br>';
|
//print '<br>';
|
||||||
|
|
||||||
$nbofsearch = 0;
|
|
||||||
|
|
||||||
// Instantiate hooks of thirdparty module
|
// Instantiate hooks of thirdparty module
|
||||||
$hookmanager->initHooks(array('bookmarks'));
|
$hookmanager->initHooks(array('bookmarks'));
|
||||||
|
|
||||||
@ -78,32 +76,43 @@ $hookmanager->initHooks(array('bookmarks'));
|
|||||||
$bookmarkList = '';
|
$bookmarkList = '';
|
||||||
$searchForm = '';
|
$searchForm = '';
|
||||||
|
|
||||||
$arrayresult = array();
|
|
||||||
//include DOL_DOCUMENT_ROOT.'/core/ajax/selectsearchbox.php';
|
|
||||||
|
|
||||||
|
if (empty($conf->bookmarks->enabled)) {
|
||||||
|
$langs->load("admin");
|
||||||
// Menu with list of bookmarks
|
$bookmarkList .= '<br><span class="opacitymedium">'.$langs->trans("WarningModuleNotActive", $langs->transnoentitiesnoconv("Bookmarks")).'</span>';
|
||||||
$sql = "SELECT rowid, title, url, target FROM ".MAIN_DB_PREFIX."bookmark";
|
$bookmarkList .= '<br><br>';
|
||||||
$sql .= " WHERE (fk_user = ".((int) $user->id)." OR fk_user is NULL OR fk_user = 0)";
|
|
||||||
$sql .= " AND entity IN (".getEntity('bookmarks').")";
|
|
||||||
$sql .= " ORDER BY position";
|
|
||||||
if ($resql = $db->query($sql)) {
|
|
||||||
$bookmarkList = '<div id="dropdown-bookmarks-list" class="start">';
|
|
||||||
$i = 0;
|
|
||||||
while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object($resql)) {
|
|
||||||
$bookmarkList .= '<a class="dropdown-item bookmark-item'.(strpos($obj->url, 'http') === 0 ? ' bookmark-item-external' : '').'" id="bookmark-item-'.$obj->rowid.'" data-id="'.$obj->rowid.'" '.($obj->target == 1 ? ' target="_blank"' : '').' href="'.dol_escape_htmltag($obj->url).'" >';
|
|
||||||
$bookmarkList .= dol_escape_htmltag($obj->title);
|
|
||||||
$bookmarkList .= '</a>';
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$bookmarkList .= '</div>';
|
|
||||||
|
|
||||||
$searchForm .= '<input name="bookmark" id="top-bookmark-search-input" class="dropdown-search-input" placeholder="'.$langs->trans('Bookmarks').'" autocomplete="off" >';
|
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
// Menu with list of bookmarks
|
||||||
}
|
$sql = "SELECT rowid, title, url, target FROM ".MAIN_DB_PREFIX."bookmark";
|
||||||
|
$sql .= " WHERE (fk_user = ".((int) $user->id)." OR fk_user is NULL OR fk_user = 0)";
|
||||||
|
$sql .= " AND entity IN (".getEntity('bookmarks').")";
|
||||||
|
$sql .= " ORDER BY position";
|
||||||
|
if ($resql = $db->query($sql)) {
|
||||||
|
$bookmarkList = '<div id="dropdown-bookmarks-list" class="start">';
|
||||||
|
$i = 0;
|
||||||
|
while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object($resql)) {
|
||||||
|
$bookmarkList .= '<a class="dropdown-item bookmark-item'.(strpos($obj->url, 'http') === 0 ? ' bookmark-item-external' : '').'" id="bookmark-item-'.$obj->rowid.'" data-id="'.$obj->rowid.'" '.($obj->target == 1 ? ' target="_blank"' : '').' href="'.dol_escape_htmltag($obj->url).'" >';
|
||||||
|
$bookmarkList .= dol_escape_htmltag($obj->title);
|
||||||
|
$bookmarkList .= '</a>';
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
if ($i == 0) {
|
||||||
|
$bookmarkList .= '<br><span class="opacitymedium">'.$langs->trans("NoBookmarks").'</span>';
|
||||||
|
$bookmarkList .= '<br><br>';
|
||||||
|
|
||||||
|
$newcardbutton = '';
|
||||||
|
$newcardbutton .= dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bookmarks/card.php?action=create&backtopage='.urlencode(DOL_URL_ROOT.'/bookmarks/list.php'), '', !empty($user->rights->bookmark->creer));
|
||||||
|
|
||||||
|
$bookmarkList .= '<center>'.$newcardbutton.'</center>';
|
||||||
|
}
|
||||||
|
$bookmarkList .= '</div>';
|
||||||
|
|
||||||
|
|
||||||
|
$searchForm .= '<input name="bookmark" id="top-bookmark-search-input" class="dropdown-search-input" placeholder="'.$langs->trans('Bookmarks').'" autocomplete="off" >';
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Execute hook printBookmarks
|
// Execute hook printBookmarks
|
||||||
$parameters = array('bookmarks'=>$bookmarkList);
|
$parameters = array('bookmarks'=>$bookmarkList);
|
||||||
|
|||||||
@ -5088,8 +5088,7 @@ class Form
|
|||||||
if ($selected) {
|
if ($selected) {
|
||||||
$projet = new Project($this->db);
|
$projet = new Project($this->db);
|
||||||
$projet->fetch($selected);
|
$projet->fetch($selected);
|
||||||
//print '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$selected.'">'.$projet->title.'</a>';
|
$out .= $projet->getNomUrl(1, '', 1);
|
||||||
$out .= $projet->getNomUrl(0, '', 1);
|
|
||||||
} else {
|
} else {
|
||||||
$out .= " ";
|
$out .= " ";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10040,7 +10040,7 @@ function dolGetButtonTitle($label, $helpText = '', $iconClass = 'fa fa-file', $u
|
|||||||
}
|
}
|
||||||
|
|
||||||
$class = 'btnTitle';
|
$class = 'btnTitle';
|
||||||
if (in_array($iconClass, array('fa fa-plus-circle', 'fa fa-comment-dots'))) {
|
if (in_array($iconClass, array('fa fa-plus-circle', 'fa fa-plus-circle size15x', 'fa fa-comment-dots'))) {
|
||||||
$class .= ' btnTitlePlus';
|
$class .= ' btnTitlePlus';
|
||||||
}
|
}
|
||||||
$useclassfortooltip = 1;
|
$useclassfortooltip = 1;
|
||||||
|
|||||||
@ -249,7 +249,10 @@ function getURLContent($url, $postorget = 'GET', $param = '', $followlocation =
|
|||||||
$request = curl_getinfo($ch, CURLINFO_HEADER_OUT); // Reading of request must be done after sending request
|
$request = curl_getinfo($ch, CURLINFO_HEADER_OUT); // Reading of request must be done after sending request
|
||||||
|
|
||||||
dol_syslog("getURLContent request=".$request);
|
dol_syslog("getURLContent request=".$request);
|
||||||
//dol_syslog("getURLContent response =".response); // This may contains binary data, so we dont output it
|
if (!empty($conf->global->MAIN_GETURLCONTENT_OUTPUT_RESPONSE)) {
|
||||||
|
// This may contains binary data, so we dont output reponse by default.
|
||||||
|
dol_syslog("getURLContent response =".response);
|
||||||
|
}
|
||||||
dol_syslog("getURLContent response size=".strlen($response)); // This may contains binary data, so we dont output it
|
dol_syslog("getURLContent response size=".strlen($response)); // This may contains binary data, so we dont output it
|
||||||
|
|
||||||
$rep = array();
|
$rep = array();
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
/* Copyright (C) 2015-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -13,25 +13,27 @@
|
|||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
* or see https://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/modules/modHRM.class.php
|
* \defgroup HRM Module hrm
|
||||||
* \ingroup HRM
|
* \file htdocs/core/modules/modHRM.class.php
|
||||||
* \brief Description and activation file for the module HRM
|
* \ingroup HRM
|
||||||
|
* \brief Description and activation file for the module HRM
|
||||||
*/
|
*/
|
||||||
include_once DOL_DOCUMENT_ROOT."/core/modules/DolibarrModules.class.php";
|
include_once DOL_DOCUMENT_ROOT."/core/modules/DolibarrModules.class.php";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to describe and activate the HRM module
|
* Description and activation class for module HRM
|
||||||
*/
|
*/
|
||||||
class modHRM extends DolibarrModules
|
class modHRM extends DolibarrModules
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor. Define names, constants, directories, boxes, permissions
|
||||||
* Define names, constants, directories, boxes, permissions
|
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
public function __construct($db)
|
public function __construct($db)
|
||||||
{
|
{
|
||||||
@ -39,34 +41,27 @@ class modHRM extends DolibarrModules
|
|||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
|
||||||
|
// Id for module (must be unique).
|
||||||
|
// Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id).
|
||||||
$this->numero = 4000;
|
$this->numero = 4000;
|
||||||
|
// Key text used to identify module (for permissions, menus, etc...)
|
||||||
$this->rights_class = 'hrm';
|
$this->rights_class = 'hrm';
|
||||||
|
|
||||||
|
// Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
|
||||||
|
// It is used to group modules in module setup page
|
||||||
$this->family = "hr";
|
$this->family = "hr";
|
||||||
$this->module_position = '50';
|
$this->module_position = '50';
|
||||||
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
|
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
|
||||||
$this->name = preg_replace('/^mod/i', '', get_class($this));
|
$this->name = preg_replace('/^mod/i', '', get_class($this));
|
||||||
// Module description, used if translation string 'ModulehrmDesc' not found (hrm is name of module).
|
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
|
||||||
$this->description = "hrm Description product ";
|
$this->description = "HRM";
|
||||||
// Used only if file README.md and README-LL.md not found.
|
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
|
||||||
$this->descriptionlong = "hrm Description long";
|
$this->version = 'development';
|
||||||
|
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
|
||||||
// Author
|
|
||||||
$this->editor_name = 'Editor name';
|
|
||||||
$this->editor_url = 'https://www.example.com';
|
|
||||||
|
|
||||||
// Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z'
|
|
||||||
$this->version = '1.0';
|
|
||||||
// Url to the file with your last numberversion of this module
|
|
||||||
//$this->url_last_version = 'http://www.example.com/versionmodule.txt';
|
|
||||||
|
|
||||||
// Key used in llx_const table to save module status enabled/disabled (where HRMTEST is value of property name of module in uppercase)
|
|
||||||
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
||||||
|
|
||||||
// Name of image file used for this module.
|
// Name of image file used for this module.
|
||||||
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
|
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
|
||||||
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
|
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
|
||||||
// To use a supported fa-xxx css style of font awesome, use this->picto='xxx'
|
|
||||||
$this->picto = 'hrm';
|
$this->picto = 'hrm';
|
||||||
|
|
||||||
// Define some features supported by module (triggers, login, substitutions, menus, css, etc...)
|
// Define some features supported by module (triggers, login, substitutions, menus, css, etc...)
|
||||||
@ -110,32 +105,20 @@ class modHRM extends DolibarrModules
|
|||||||
$this->config_page_url = array("hrm.php");
|
$this->config_page_url = array("hrm.php");
|
||||||
|
|
||||||
// Dependencies
|
// Dependencies
|
||||||
// A condition to hide module
|
$this->hidden = false; // A condition to hide module
|
||||||
$this->hidden = false;
|
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
|
||||||
// List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...)
|
$this->requiredby = array(); // List of module ids to disable if this one is disabled
|
||||||
$this->depends = array();
|
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
||||||
$this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...)
|
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
||||||
$this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...)
|
$this->need_dolibarr_version = array(11, 0); // Minimum version of Dolibarr required by module
|
||||||
|
|
||||||
// The language file dedicated to your module
|
|
||||||
$this->langfiles = array("hrm");
|
$this->langfiles = array("hrm");
|
||||||
|
|
||||||
// Prerequisites
|
|
||||||
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
|
||||||
$this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module
|
|
||||||
|
|
||||||
// Messages at activation
|
|
||||||
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
|
||||||
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
|
||||||
//$this->automatic_activation = array('FR'=>'HrmTestWasAutomaticallyActivatedBecauseOfYourCountryChoice');
|
|
||||||
//$this->always_enabled = true; // If true, can't be disabled
|
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
// List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
|
// Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',0),
|
||||||
// Example: $this->const=array(1 => array('HRMTEST_MYNEWCONST1', 'chaine', 'myvalue', 'This is a constant to add', 1),
|
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0) );
|
||||||
// 2 => array('HRMTEST_MYNEWCONST2', 'chaine', 'myvalue', 'This is another constant to add', 0, 'current', 1)
|
// 2=>array('MAIN_MODULE_MYMODULE_NEEDSMARTY','chaine',1,'Constant to say module need smarty',0)
|
||||||
// );
|
$this->const = array(); // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 0 or 'allentities')
|
||||||
$this->const = array();
|
$r = 0;
|
||||||
|
|
||||||
|
|
||||||
if (!isset($conf->hrm) || !isset($conf->hrm->enabled)) {
|
if (!isset($conf->hrm) || !isset($conf->hrm->enabled)) {
|
||||||
@ -207,67 +190,78 @@ class modHRM extends DolibarrModules
|
|||||||
// ),
|
// ),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Permissions provided by this module
|
|
||||||
$this->rights = array();
|
// Permissions
|
||||||
|
$this->rights = array(); // Permission array used by this module
|
||||||
$r = 0;
|
$r = 0;
|
||||||
// Add here entries to declare new permissions
|
|
||||||
/* BEGIN MODULEBUILDER PERMISSIONS */
|
|
||||||
|
|
||||||
// Skill / Job / Position
|
// Skill / Job / Position
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
$this->rights[$r][0] = 4010; // Permission id (must not be already used)
|
||||||
$this->rights[$r][1] = $langs->trans('ReadSkillJobPosition'); // Permission label
|
$this->rights[$r][1] = 'Read skill/job/position'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'all';
|
$this->rights[$r][4] = 'all';
|
||||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
|
||||||
$this->rights[$r][1] = $langs->trans('CreateUpdateSkillJobPosition'); // Permission label
|
$this->rights[$r][0] = 4011; // Permission id (must not be already used)
|
||||||
|
$this->rights[$r][1] = 'Create/modify skill/job/position'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'all';
|
$this->rights[$r][4] = 'all';
|
||||||
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
|
||||||
$this->rights[$r][1] = $langs->trans('DeleteSkillJobPosition'); // Permission label
|
$this->rights[$r][0] = 4012; // Permission id (must not be already used)
|
||||||
|
$this->rights[$r][1] = 'Delete skill/job/position'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'all';
|
$this->rights[$r][4] = 'all';
|
||||||
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
//Eval
|
// Evaluation
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
$this->rights[$r][0] = 4020; // Permission id (must not be already used)
|
||||||
$this->rights[$r][1] = $langs->trans('ReadEval'); // Permission label
|
$this->rights[$r][1] = 'Read evaluation'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'evaluation';
|
$this->rights[$r][4] = 'evaluation';
|
||||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
|
||||||
$this->rights[$r][1] = $langs->trans('CreateUpdateEval'); // Permission label
|
$this->rights[$r][0] = 4021; // Permission id (must not be already used)
|
||||||
|
$this->rights[$r][1] = 'Create/modify evaluation'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'evaluation';
|
$this->rights[$r][4] = 'evaluation';
|
||||||
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
|
||||||
$this->rights[$r][1] = $langs->trans('ValidateEval'); // Permission label
|
$this->rights[$r][0] = 4022; // Permission id (must not be already used)
|
||||||
|
$this->rights[$r][1] = 'Validate evaluation'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'evaluation';
|
$this->rights[$r][4] = 'evaluation';
|
||||||
$this->rights[$r][5] = 'validate'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
$this->rights[$r][5] = 'validate'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
|
||||||
$this->rights[$r][1] = $langs->trans('DeleteEval'); // Permission label
|
$this->rights[$r][0] = 4023; // Permission id (must not be already used)
|
||||||
|
$this->rights[$r][1] = 'Delete evaluation'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'evaluation';
|
$this->rights[$r][4] = 'evaluation';
|
||||||
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
// Comparison
|
// Comparison
|
||||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
$this->rights[$r][0] = 4030; // Permission id (must not be already used)
|
||||||
$this->rights[$r][1] = $langs->trans('SeeComparisonMenu'); // Permission label
|
$this->rights[$r][1] = 'See comparison menu'; // Permission label
|
||||||
|
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||||
$this->rights[$r][4] = 'compare';
|
$this->rights[$r][4] = 'compare';
|
||||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||||
$r++;
|
$r++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function called when module is enabled.
|
* Function called when module is enabled.
|
||||||
* The init function add constants, boxes, permissions and menus
|
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
|
||||||
* (defined in constructor) into Dolibarr database.
|
* It also creates data directories
|
||||||
* It also creates data directories
|
|
||||||
*
|
*
|
||||||
* @param string $options Enabling module ('', 'noboxes')
|
* @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes')
|
||||||
* @return int if OK, 0 if KO
|
* @return int 1 if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
public function init($options = '')
|
public function init($options = '')
|
||||||
{
|
{
|
||||||
|
|||||||
147
htdocs/core/multicompany_page.php
Normal file
147
htdocs/core/multicompany_page.php
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2005-2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* This file is a modified version of datepicker.php from phpBSM to fix some
|
||||||
|
* bugs, to add new features and to dramatically increase speed.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/multicompany_page.php
|
||||||
|
* \brief File to return a page with the list of all entities user can switch to
|
||||||
|
*/
|
||||||
|
|
||||||
|
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language
|
||||||
|
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled cause need to load personalized language
|
||||||
|
//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
|
||||||
|
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations
|
||||||
|
if (!defined('NOCSRFCHECK')) {
|
||||||
|
define('NOCSRFCHECK', 1);
|
||||||
|
}
|
||||||
|
if (!defined('NOTOKENRENEWAL')) {
|
||||||
|
define('NOTOKENRENEWAL', 1);
|
||||||
|
}
|
||||||
|
//if (! defined('NOLOGIN')) define('NOLOGIN',1); // Not disabled cause need to load personalized language
|
||||||
|
if (!defined('NOREQUIREMENU')) {
|
||||||
|
define('NOREQUIREMENU', 1);
|
||||||
|
}
|
||||||
|
//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1);
|
||||||
|
|
||||||
|
require_once '../main.inc.php';
|
||||||
|
|
||||||
|
$action = GETPOST('action', 'aZ09');
|
||||||
|
$entityid = GETPOST('entity', 'int');
|
||||||
|
$backtourl = GETPOST('backtourl');
|
||||||
|
if (empty($backtourl)) {
|
||||||
|
$backtourl = DOL_URL_ROOT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GETPOST('lang', 'aZ09')) {
|
||||||
|
$langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL by the main.inc.php
|
||||||
|
}
|
||||||
|
|
||||||
|
$langs->load("main");
|
||||||
|
|
||||||
|
$right = ($langs->trans("DIRECTION") == 'rtl' ? 'left' : 'right');
|
||||||
|
$left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (GETPOST('acction', 'aZ') == 'switchentity') {
|
||||||
|
if (is_object($mc)) {
|
||||||
|
$mc->switchEntity($entityid);
|
||||||
|
}
|
||||||
|
|
||||||
|
header("Location: ".$backtourl);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$title = $langs->trans("Multicompanies");
|
||||||
|
|
||||||
|
// URL http://mydolibarr/core/multicompany_page?dol_use_jmobile=1 can be used for tests
|
||||||
|
$head = '<!-- Multicompany access -->'."\n";
|
||||||
|
$arrayofjs = array();
|
||||||
|
$arrayofcss = array();
|
||||||
|
top_htmlhead($head, $title, 0, 0, $arrayofjs, $arrayofcss);
|
||||||
|
|
||||||
|
|
||||||
|
print '<body>'."\n";
|
||||||
|
print '<div>';
|
||||||
|
//print '<br>';
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($conf->multicompany->enabled)) {
|
||||||
|
$langs->load("admin");
|
||||||
|
$bookmarkList .= '<br><span class="opacitymedium">'.$langs->trans("WarningModuleNotActive", $langs->transnoentitiesnoconv("MultiCompany")).'</span>';
|
||||||
|
$bookmarkList .= '<br><br>';
|
||||||
|
} else {
|
||||||
|
// Instantiate hooks of thirdparty module
|
||||||
|
$hookmanager->initHooks(array('multicompany'));
|
||||||
|
|
||||||
|
// Define $bookmarks
|
||||||
|
$multicompanyList = '';
|
||||||
|
$searchForm = '';
|
||||||
|
|
||||||
|
|
||||||
|
if (is_object($mc)) {
|
||||||
|
$listofentities = $mc->getEntitiesList($user->login, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($listofentities as $entityid => $entitycursor) {
|
||||||
|
$url = DOL_URL_ROOT.'/core/multicompany_page.php?action=switchentity&token='.newToken().'&entity='.((int) $entityid).($backtourl ? '&backtourl='.urlencode($backtourl) : '');
|
||||||
|
$multicompanyList .= '<a class="dropdown-item multicompany-item'.(strpos($url, 'http') === 0 ? ' multicompany-item-external' : '').'" id="multicompany-item-'.$id.'" data-id="'.$id.'" href="'.dol_escape_htmltag($url).'">';
|
||||||
|
$multicompanyList .= dol_escape_htmltag($entitycursor);
|
||||||
|
$multicompanyList .= '</a>';
|
||||||
|
}
|
||||||
|
$multicompanyList .= '</div>';
|
||||||
|
|
||||||
|
$searchForm .= '<input name="bookmark" id="top-multicompany-search-input" class="dropdown-search-input" placeholder="'.$langs->trans('Entity').'" autocomplete="off" >';
|
||||||
|
|
||||||
|
|
||||||
|
// Execute hook printBookmarks
|
||||||
|
$parameters = array('multicompany'=>$multicompanyList);
|
||||||
|
$reshook = $hookmanager->executeHooks('printMultiCompanyEntities', $parameters); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if (empty($reshook)) {
|
||||||
|
$multicompanyList .= $hookmanager->resPrint;
|
||||||
|
} else {
|
||||||
|
$multicompanyList = $hookmanager->resPrint;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
print "\n";
|
||||||
|
print "<!-- Begin Multicompany list -->\n";
|
||||||
|
print '<div class="center"><div class="center" style="padding: 6px;">';
|
||||||
|
print '<style>.menu_titre { padding-top: 7px; }</style>';
|
||||||
|
print '<div id="blockvmenusearch" class="tagtable center searchpage">'."\n";
|
||||||
|
print $multicompanyList;
|
||||||
|
print '</div>'."\n";
|
||||||
|
print '</div></div>';
|
||||||
|
print "\n<!-- End SearchForm -->\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
|
print '</body></html>'."\n";
|
||||||
|
|
||||||
|
$db->close();
|
||||||
@ -219,18 +219,18 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l
|
|||||||
|
|
||||||
// Convert date into timestamp format
|
// Convert date into timestamp format
|
||||||
if (in_array($extrafields->attributes[$object->table_element]['type'][$tmpkeyextra], array('date'))) {
|
if (in_array($extrafields->attributes[$object->table_element]['type'][$tmpkeyextra], array('date'))) {
|
||||||
$datenotinstring = $object->array_options['options_'.$tmpkeyextra];
|
$datenotinstring = empty($object->array_options['options_'.$tmpkeyextra]) ? '' : $object->array_options['options_'.$tmpkeyextra];
|
||||||
// print 'X'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.'x';
|
// print 'X'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.'x';
|
||||||
if (!is_numeric($object->array_options['options_'.$tmpkeyextra])) { // For backward compatibility
|
if (!empty($object->array_options['options_'.$tmpkeyextra]) && !is_numeric($object->array_options['options_'.$tmpkeyextra])) { // For backward compatibility
|
||||||
$datenotinstring = $db->jdate($datenotinstring);
|
$datenotinstring = $db->jdate($datenotinstring);
|
||||||
}
|
}
|
||||||
//print 'x'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.' - '.dol_print_date($datenotinstring, 'dayhour');
|
//print 'x'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.' - '.dol_print_date($datenotinstring, 'dayhour');
|
||||||
$value = GETPOSTISSET("options_".$tmpkeyextra) ? dol_mktime(12, 0, 0, GETPOST("options_".$tmpkeyextra."month", 'int'), GETPOST("options_".$tmpkeyextra."day", 'int'), GETPOST("options_".$tmpkeyextra."year", 'int')) : $datenotinstring;
|
$value = GETPOSTISSET("options_".$tmpkeyextra) ? dol_mktime(12, 0, 0, GETPOST("options_".$tmpkeyextra."month", 'int'), GETPOST("options_".$tmpkeyextra."day", 'int'), GETPOST("options_".$tmpkeyextra."year", 'int')) : $datenotinstring;
|
||||||
}
|
}
|
||||||
if (in_array($extrafields->attributes[$object->table_element]['type'][$tmpkeyextra], array('datetime'))) {
|
if (in_array($extrafields->attributes[$object->table_element]['type'][$tmpkeyextra], array('datetime'))) {
|
||||||
$datenotinstring = $object->array_options['options_'.$tmpkeyextra];
|
$datenotinstring = empty($object->array_options['options_'.$tmpkeyextra]) ? '' : $object->array_options['options_'.$tmpkeyextra];
|
||||||
// print 'X'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.'x';
|
// print 'X'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.'x';
|
||||||
if (!is_numeric($object->array_options['options_'.$tmpkeyextra])) { // For backward compatibility
|
if (!empty($object->array_options['options_'.$tmpkeyextra]) && !is_numeric($object->array_options['options_'.$tmpkeyextra])) { // For backward compatibility
|
||||||
$datenotinstring = $db->jdate($datenotinstring);
|
$datenotinstring = $db->jdate($datenotinstring);
|
||||||
}
|
}
|
||||||
//print 'x'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.' - '.dol_print_date($datenotinstring, 'dayhour');
|
//print 'x'.$object->array_options['options_' . $tmpkeyextra].'-'.$datenotinstring.' - '.dol_print_date($datenotinstring, 'dayhour');
|
||||||
|
|||||||
@ -348,9 +348,10 @@ if ($action == 'create') { // Create. Seems to no be used
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -717,9 +717,10 @@ if (!empty($id) && $action != 'edit') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -151,9 +151,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,9 +99,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,9 +122,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1722,9 +1722,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -174,9 +174,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -148,9 +148,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,9 +135,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -310,9 +310,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -507,10 +507,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'"';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= 'title="'.$langs->trans('ShowProject').'">';
|
if ($proj->title) {
|
||||||
$morehtmlref .= $proj->ref;
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
$morehtmlref .= '</a>';
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1155,9 +1155,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,9 +146,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,9 +146,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -101,9 +101,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -111,9 +111,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2012,9 +2012,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -158,9 +158,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -565,9 +565,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -154,9 +154,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -162,9 +162,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -129,9 +129,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2688,9 +2688,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,9 +160,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -138,9 +138,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,9 +104,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -133,9 +133,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -961,6 +961,14 @@ Permission4001=See employees
|
|||||||
Permission4002=Create employees
|
Permission4002=Create employees
|
||||||
Permission4003=Delete employees
|
Permission4003=Delete employees
|
||||||
Permission4004=Export employees
|
Permission4004=Export employees
|
||||||
|
Permission4010=Read skill/job/position
|
||||||
|
Permission4011=Create/modify skill/job/position
|
||||||
|
Permission4012=Delete skill/job/position
|
||||||
|
Permission4020=Read evaluation
|
||||||
|
Permission4021=Create/modify evaluation
|
||||||
|
Permission4022=Validate evaluation
|
||||||
|
Permission4023=Delete evaluation
|
||||||
|
Permission4030=See comparison menu
|
||||||
Permission10001=Read website content
|
Permission10001=Read website content
|
||||||
Permission10002=Create/modify website content (html and javascript content)
|
Permission10002=Create/modify website content (html and javascript content)
|
||||||
Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.
|
Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.
|
||||||
|
|||||||
@ -19,3 +19,4 @@ UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external/absolute link (https
|
|||||||
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if the linked page should open in the current tab or a new tab
|
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if the linked page should open in the current tab or a new tab
|
||||||
BookmarksManagement=Bookmarks management
|
BookmarksManagement=Bookmarks management
|
||||||
BookmarksMenuShortCut=Ctrl + shift + m
|
BookmarksMenuShortCut=Ctrl + shift + m
|
||||||
|
NoBookmarks=No bookmarks defined
|
||||||
|
|||||||
@ -271,6 +271,12 @@ ProfId3RU=Prof Id 3 (KPP)
|
|||||||
ProfId4RU=Prof Id 4 (OKPO)
|
ProfId4RU=Prof Id 4 (OKPO)
|
||||||
ProfId5RU=-
|
ProfId5RU=-
|
||||||
ProfId6RU=-
|
ProfId6RU=-
|
||||||
|
ProfId1UA=Prof Id 1 (EDRPOU)
|
||||||
|
ProfId2UA=Prof Id 2 (DRFO)
|
||||||
|
ProfId3UA=Prof Id 3 (INN)
|
||||||
|
ProfId4UA=Prof Id 4 (Certificate)
|
||||||
|
ProfId5UA=Prof Id 5 (RNOKPP)
|
||||||
|
ProfId6UA=Prof Id 6 (TRDPAU)
|
||||||
ProfId1DZ=RC
|
ProfId1DZ=RC
|
||||||
ProfId2DZ=Art.
|
ProfId2DZ=Art.
|
||||||
ProfId3DZ=NIF
|
ProfId3DZ=NIF
|
||||||
|
|||||||
@ -19,12 +19,9 @@ Employees=Employees
|
|||||||
Employee=Employee
|
Employee=Employee
|
||||||
NewEmployee=New employee
|
NewEmployee=New employee
|
||||||
ListOfEmployees=List of employees
|
ListOfEmployees=List of employees
|
||||||
HrmSetup = Hrm setup
|
HrmSetup=HRM module setup
|
||||||
HrmSetupPage = Hrm setup page
|
|
||||||
HRM_MAXRANK=Maximum rank for a skill
|
HRM_MAXRANK=Maximum rank for a skill
|
||||||
HRM_DEFAULT_SKILL_DESCRIPTION=Default description of ranks when skill is created
|
HRM_DEFAULT_SKILL_DESCRIPTION=Default description of ranks when skill is created
|
||||||
HrmAbout = About Hrm
|
|
||||||
traduction_note=Translate
|
|
||||||
deplacement=Shift
|
deplacement=Shift
|
||||||
DateEval=Evaluation date
|
DateEval=Evaluation date
|
||||||
JobCard=Job card
|
JobCard=Job card
|
||||||
@ -82,11 +79,3 @@ NoEval=No evaluation done for this employee
|
|||||||
HowManyUserWithThisMaxNote=Number of users with this rank
|
HowManyUserWithThisMaxNote=Number of users with this rank
|
||||||
HighestRank=Highest rank
|
HighestRank=Highest rank
|
||||||
SkillComparison=Skill comparison
|
SkillComparison=Skill comparison
|
||||||
ReadSkillJobPosition=Read skills / jobs / positions
|
|
||||||
CreateUpdateSkillJobPosition=Create / update skills / jobs / positions
|
|
||||||
DeleteSkillJobPosition=Delete skills / jobs / positions
|
|
||||||
ReadEval=Read evaluations
|
|
||||||
CreateUpdateEval=Create / update evaluations
|
|
||||||
ValidateEval=Validate evaluations
|
|
||||||
DeleteEval=Delete evaluations
|
|
||||||
SeeComparisonMenu=Access skills comparison menu
|
|
||||||
|
|||||||
@ -89,11 +89,11 @@ IdProposal=Proposal ID
|
|||||||
IdProduct=Product ID
|
IdProduct=Product ID
|
||||||
PrParentLine=Proposal Parent Line
|
PrParentLine=Proposal Parent Line
|
||||||
LineBuyPriceHT=Buy Price Amount net of tax for line
|
LineBuyPriceHT=Buy Price Amount net of tax for line
|
||||||
SignPropal=Sign proposal
|
SignPropal=Accept proposal
|
||||||
RefusePropal=Refuse proposal
|
RefusePropal=Refuse proposal
|
||||||
Sign=Sign
|
Sign=Sign
|
||||||
|
PropalAlreadySigned=Proposal already accepted
|
||||||
PropalAlreadyRefused=Proposal already refused
|
PropalAlreadyRefused=Proposal already refused
|
||||||
PropalAlreadySigned=Proposal already signed
|
PropalSigned=Proposal accepted
|
||||||
PropalSigned=Proposal signed
|
|
||||||
PropalRefused=Proposal refused
|
PropalRefused=Proposal refused
|
||||||
ConfirmRefusePropal=Are you sure you want to refuse this commercial proposal?
|
ConfirmRefusePropal=Are you sure you want to refuse this commercial proposal?
|
||||||
|
|||||||
@ -446,9 +446,10 @@ if ($id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -124,9 +124,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,9 +88,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -113,9 +113,10 @@ if ($id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -171,9 +171,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -506,9 +506,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print $formconfirm;
|
print $formconfirm;
|
||||||
|
|
||||||
|
|
||||||
// Object card
|
// MO file
|
||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
$linkback = '<a href="'.dol_buildpath('/mrp/mo_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/mrp/mo_list.php?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
$morehtmlref = '<div class="refidno">';
|
$morehtmlref = '<div class="refidno">';
|
||||||
/*
|
/*
|
||||||
@ -705,11 +705,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<div class="fichehalfleft">';
|
print '<div class="fichehalfleft">';
|
||||||
print '<div class="clearboth"></div>';
|
print '<div class="clearboth"></div>';
|
||||||
|
|
||||||
$newlinetext = '';
|
$url = $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=addconsumeline&token='.newToken();
|
||||||
if ($object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall') {
|
$permissiontoaddaconsumeline = $object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall';
|
||||||
$newlinetext = '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=addconsumeline&token='.newToken().'">'.$langs->trans("AddNewConsumeLines").'</a>';
|
$parameters = array('morecss'=>'reposition');
|
||||||
}
|
$newcardbutton = dolGetButtonTitle($langs->trans('AddNewConsumeLines'), '', 'fa fa-plus-circle size15x', $url, '', $permissiontoaddaconsumeline, $parameters);
|
||||||
print load_fiche_titre($langs->trans('Consumption'), '', '', 0, '', '', $newlinetext);
|
|
||||||
|
print load_fiche_titre($langs->trans('Consumption'), $newcardbutton, '', 0, '', '', '');
|
||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder noshadow centpercent nobottom">';
|
print '<table class="noborder noshadow centpercent nobottom">';
|
||||||
@ -756,7 +757,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<!-- Add line to consume -->'."\n";
|
print '<!-- Add line to consume -->'."\n";
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 0, array(), 0, '1', 0, 'maxwidth300');
|
print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth300');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// Qty
|
// Qty
|
||||||
print '<td class="right"><input type="text" name="qtytoadd" value="1" class="width50 right"></td>';
|
print '<td class="right"><input type="text" name="qtytoadd" value="1" class="width50 right"></td>';
|
||||||
@ -765,11 +766,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
// Qty already consumed
|
// Qty already consumed
|
||||||
print '<td></td>';
|
print '<td colspan="2">';
|
||||||
// Warehouse
|
// Warehouse
|
||||||
print '<td>';
|
|
||||||
print '<input type="submit" class="button buttongen button-add" name="addconsumelinebutton" value="'.$langs->trans("Add").'">';
|
print '<input type="submit" class="button buttongen button-add" name="addconsumelinebutton" value="'.$langs->trans("Add").'">';
|
||||||
|
print '<input type="submit" class="button buttongen button-cancel" name="canceladdconsumelinebutton" value="'.$langs->trans("Cancel").'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
if ($conf->stock->enabled) {
|
||||||
|
print '<td></td>';
|
||||||
|
}
|
||||||
// Lot - serial
|
// Lot - serial
|
||||||
if ($conf->productbatch->enabled) {
|
if ($conf->productbatch->enabled) {
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
@ -831,9 +835,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
|
// Product
|
||||||
print '<td>'.$tmpproduct->getNomUrl(1);
|
print '<td>'.$tmpproduct->getNomUrl(1);
|
||||||
print '<br><span class="opacitymedium small">'.$tmpproduct->label.'</span>';
|
print '<br><span class="opacitymedium small">'.$tmpproduct->label.'</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
// Qty
|
||||||
print '<td class="right nowraponall">';
|
print '<td class="right nowraponall">';
|
||||||
$help = '';
|
$help = '';
|
||||||
if ($line->qty_frozen) {
|
if ($line->qty_frozen) {
|
||||||
@ -845,14 +851,16 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
if ($help) {
|
if ($help) {
|
||||||
print $form->textwithpicto($line->qty, $help, -1);
|
print $form->textwithpicto($line->qty, $help, -1);
|
||||||
} else {
|
} else {
|
||||||
print $line->qty;
|
print price2num($line->qty, 'MS');
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
// Cost price
|
||||||
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
||||||
print '<td class="right nowraponall">';
|
print '<td class="right nowraponall">';
|
||||||
print price($linecost);
|
print price($linecost);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
// Already consumed
|
||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
if ($alreadyconsumed) {
|
if ($alreadyconsumed) {
|
||||||
print '<script>';
|
print '<script>';
|
||||||
@ -879,30 +887,30 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<script>jQuery("#tablelines").removeClass("nobottom");</script>';
|
print '<script>jQuery("#tablelines").removeClass("nobottom");</script>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print ' '.$alreadyconsumed;
|
print ' '.price2num($alreadyconsumed, 'MS');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// Warehouse
|
// Warehouse
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
// Stock
|
||||||
if ($conf->stock->enabled) {
|
if ($conf->stock->enabled) {
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($tmpproduct->stock_reel < ($line->qty - $alreadyconsumed)) {
|
if ($tmpproduct->stock_reel < ($line->qty - $alreadyconsumed)) {
|
||||||
print img_warning($langs->trans('StockTooLow')).' ';
|
print img_warning($langs->trans('StockTooLow')).' ';
|
||||||
}
|
}
|
||||||
print $tmpproduct->stock_reel; // Available
|
print price2num($tmpproduct->stock_reel, 'MS'); // Available
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
// Lot
|
||||||
if ($conf->productbatch->enabled) {
|
if ($conf->productbatch->enabled) {
|
||||||
print '<td></td>'; // Lot
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
|
// Action delete line
|
||||||
if ($permissiontodelete) {
|
if ($permissiontodelete) {
|
||||||
$href = $_SERVER["PHP_SELF"];
|
$href = $_SERVER["PHP_SELF"].'?id='.((int) $object->id).'&action=deleteline&token='.newToken().'&lineid='.((int) $line->id);
|
||||||
$href .= '?id='.$object->id;
|
|
||||||
$href .= '&action=deleteline';
|
|
||||||
$href .= '&lineid='.$line->id;
|
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<a href="'.$href.'">';
|
print '<a class="reposition" href="'.$href.'">';
|
||||||
print img_picto('', "delete");
|
print img_picto('', 'delete');
|
||||||
print '</a>';
|
print '</a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
@ -911,16 +919,26 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
// Show detailed of already consumed with js code to collapse
|
// Show detailed of already consumed with js code to collapse
|
||||||
foreach ($arrayoflines as $line2) {
|
foreach ($arrayoflines as $line2) {
|
||||||
print '<tr class="expanddetail'.$line->id.' hideobject opacitylow">';
|
print '<tr class="expanddetail'.$line->id.' hideobject opacitylow">';
|
||||||
|
|
||||||
|
// Date
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$tmpstockmovement->id = $line2['fk_stock_movement'];
|
$tmpstockmovement->id = $line2['fk_stock_movement'];
|
||||||
print '<a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?search_ref='.$tmpstockmovement->id.'">'.img_picto($langs->trans("StockMovement"), 'movement', 'class="paddingright"').'</a>';
|
print '<a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?search_ref='.$tmpstockmovement->id.'">'.img_picto($langs->trans("StockMovement"), 'movement', 'class="paddingright"').'</a>';
|
||||||
print dol_print_date($line2['date'], 'dayhour', 'tzuserrel');
|
print dol_print_date($line2['date'], 'dayhour', 'tzuserrel');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
// Already consumed
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
|
|
||||||
|
// Qty
|
||||||
print '<td class="right">'.$line2['qty'].'</td>';
|
print '<td class="right">'.$line2['qty'].'</td>';
|
||||||
|
|
||||||
|
// Cost price
|
||||||
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warehouse
|
||||||
print '<td class="tdoverflowmax150">';
|
print '<td class="tdoverflowmax150">';
|
||||||
if ($line2['fk_warehouse'] > 0) {
|
if ($line2['fk_warehouse'] > 0) {
|
||||||
$result = $tmpwarehouse->fetch($line2['fk_warehouse']);
|
$result = $tmpwarehouse->fetch($line2['fk_warehouse']);
|
||||||
@ -929,6 +947,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
// Stock
|
||||||
|
if ($conf->stock->enabled) {
|
||||||
|
print '<td></td>';
|
||||||
|
}
|
||||||
|
|
||||||
// Lot Batch
|
// Lot Batch
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($line2['batch'] != '') {
|
if ($line2['batch'] != '') {
|
||||||
@ -936,6 +960,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print $tmpbatch->getNomUrl(1);
|
print $tmpbatch->getNomUrl(1);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
// Action delete line
|
||||||
|
if ($permissiontodelete) {
|
||||||
|
print '<td></td>';
|
||||||
|
}
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -954,11 +984,18 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
$disable = 'disabled';
|
$disable = 'disabled';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Qty
|
||||||
print '<td class="right"><input type="text" class="width50 right" name="qty-'.$line->id.'-'.$i.'" value="'.$preselected.'" '.$disable.' ></td>';
|
print '<td class="right"><input type="text" class="width50 right" name="qty-'.$line->id.'-'.$i.'" value="'.$preselected.'" '.$disable.' ></td>';
|
||||||
|
|
||||||
|
// Cost
|
||||||
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Already consumed
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
|
|
||||||
|
// Warehouse
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($tmpproduct->type == Product::TYPE_PRODUCT || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) {
|
if ($tmpproduct->type == Product::TYPE_PRODUCT || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) {
|
||||||
if (empty($line->disable_stock_change)) {
|
if (empty($line->disable_stock_change)) {
|
||||||
@ -970,10 +1007,16 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
} else {
|
} else {
|
||||||
print '<span class="opacitymedium">'.$langs->trans("NoStockChangeOnServices").'</span>';
|
print '<span class="opacitymedium">'.$langs->trans("NoStockChangeOnServices").'</span>';
|
||||||
}
|
}
|
||||||
// Lot / Batch
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
// Stock
|
||||||
|
if ($conf->stock->enabled) {
|
||||||
|
print '<td></td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lot / Batch
|
||||||
if ($conf->productbatch->enabled) {
|
if ($conf->productbatch->enabled) {
|
||||||
print '<td>';
|
print '<td>aaa';
|
||||||
if ($tmpproduct->status_batch) {
|
if ($tmpproduct->status_batch) {
|
||||||
$preselected = (GETPOSTISSET('batch-'.$line->id.'-'.$i) ? GETPOST('batch-'.$line->id.'-'.$i) : '');
|
$preselected = (GETPOSTISSET('batch-'.$line->id.'-'.$i) ? GETPOST('batch-'.$line->id.'-'.$i) : '');
|
||||||
print '<input type="text" class="width50" name="batch-'.$line->id.'-'.$i.'" value="'.$preselected.'" list="batch-'.$line->id.'-'.$i.'">';
|
print '<input type="text" class="width50" name="batch-'.$line->id.'-'.$i.'" value="'.$preselected.'" list="batch-'.$line->id.'-'.$i.'">';
|
||||||
@ -981,6 +1024,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Action delete line
|
||||||
|
if ($permissiontodelete) {
|
||||||
|
print '<td></td>';
|
||||||
|
}
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1003,13 +1052,16 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
$nblinetoproduce++;
|
$nblinetoproduce++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$newlinetext = '';
|
|
||||||
if ($object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall') {
|
$newcardbutton = '';
|
||||||
if ($nblinetoproduce == 0 || $object->mrptype == 1) {
|
$url = $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=addproduceline&token='.newToken();
|
||||||
$newlinetext = '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=addproduceline&token='.newToken().'">'.$langs->trans("AddNewProduceLines").'</a>';
|
$permissiontoaddaproductline = $object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall';
|
||||||
}
|
$parameters = array('morecss'=>'reposition');
|
||||||
|
if ($nblinetoproduce == 0 || $object->mrptype == 1) {
|
||||||
|
$newcardbutton = dolGetButtonTitle($langs->trans('AddNewProduceLines'), '', 'fa fa-plus-circle size15x', $url, '', $permissiontoaddaproductline, $parameters);
|
||||||
}
|
}
|
||||||
print load_fiche_titre($langs->trans('Production'), '', '', 0, '', '', $newlinetext);
|
|
||||||
|
print load_fiche_titre($langs->trans('Production'), $newcardbutton, '', 0, '', '');
|
||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table id="tablelinestoproduce" class="noborder noshadow nobottom centpercent">';
|
print '<table id="tablelinestoproduce" class="noborder noshadow nobottom centpercent">';
|
||||||
@ -1044,7 +1096,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<!-- Add line to produce -->'."\n";
|
print '<!-- Add line to produce -->'."\n";
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 0, array(), 0, '1', 0, 'maxwidth300');
|
print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth300');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// Qty
|
// Qty
|
||||||
print '<td class="right"><input type="text" name="qtytoadd" value="1" class="width50 right"></td>';
|
print '<td class="right"><input type="text" name="qtytoadd" value="1" class="width50 right"></td>';
|
||||||
@ -1052,10 +1104,10 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
|
|
||||||
// Qty already produced
|
// Qty already produced
|
||||||
print '<td></td>';
|
print '<td colspan="2">';
|
||||||
// Warehouse
|
// Warehouse
|
||||||
print '<td>';
|
|
||||||
print '<input type="submit" class="button buttongen button-add" name="addproducelinebutton" value="'.$langs->trans("Add").'">';
|
print '<input type="submit" class="button buttongen button-add" name="addproducelinebutton" value="'.$langs->trans("Add").'">';
|
||||||
|
print '<input type="submit" class="button buttongen button-cancel" name="canceladdproducelinebutton" value="'.$langs->trans("Cancel").'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
// Lot - serial
|
// Lot - serial
|
||||||
if ($conf->productbatch->enabled) {
|
if ($conf->productbatch->enabled) {
|
||||||
@ -1155,7 +1207,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
$href .= '&action=deleteline';
|
$href .= '&action=deleteline';
|
||||||
$href .= '&lineid='.$line->id;
|
$href .= '&lineid='.$line->id;
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<a href="'.$href.'">';
|
print '<a class="reposition" href="'.$href.'">';
|
||||||
print img_picto('', "delete");
|
print img_picto('', "delete");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -451,9 +451,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,9 +81,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -671,9 +671,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1183,7 +1183,7 @@ class Project extends CommonObject
|
|||||||
|
|
||||||
$label = '';
|
$label = '';
|
||||||
if ($option != 'nolink') {
|
if ($option != 'nolink') {
|
||||||
$label = img_picto('', $this->picto).' <u class="paddingrightonly">'.$langs->trans("Project").'</u>';
|
$label = img_picto('', $this->picto, 'class="pictofixedwidth"').' <u class="paddingrightonly">'.$langs->trans("Project").'</u>';
|
||||||
}
|
}
|
||||||
if (isset($this->status)) {
|
if (isset($this->status)) {
|
||||||
$label .= ' '.$this->getLibStatut(5);
|
$label .= ' '.$this->getLibStatut(5);
|
||||||
@ -1252,7 +1252,7 @@ class Project extends CommonObject
|
|||||||
|
|
||||||
$result .= $linkstart;
|
$result .= $linkstart;
|
||||||
if ($withpicto) {
|
if ($withpicto) {
|
||||||
$result .= img_object(($notooltip ? '' : $label), $picto, ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1);
|
$result .= img_object(($notooltip ? '' : $label), $picto, ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip pictofixedwidth"'), 0, 0, $notooltip ? 0 : 1);
|
||||||
}
|
}
|
||||||
if ($withpicto != 2) {
|
if ($withpicto != 2) {
|
||||||
$result .= $this->ref;
|
$result .= $this->ref;
|
||||||
|
|||||||
@ -61,6 +61,7 @@ $langs->loadLangs(array("main", "other", "dict", "bills", "companies", "errors",
|
|||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
$refusepropal = GETPOST('refusepropal', 'alpha');
|
$refusepropal = GETPOST('refusepropal', 'alpha');
|
||||||
|
$message = GETPOST('message', 'aZ09');
|
||||||
|
|
||||||
// Input are:
|
// Input are:
|
||||||
// type ('invoice','order','contractline'),
|
// type ('invoice','order','contractline'),
|
||||||
@ -120,25 +121,33 @@ $creditor = $mysoc->name;
|
|||||||
$object = new Propal($db);
|
$object = new Propal($db);
|
||||||
$object->fetch(0, $ref);
|
$object->fetch(0, $ref);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'confirm_refusepropal') {
|
if ($action == 'confirm_refusepropal') {
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."propal";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."propal";
|
||||||
$sql .= " SET fk_statut = ".((int) $object::STATUS_NOTSIGNED).", note_private = '".$object->note_private."', date_signature='".$db->idate(dol_now())."'";
|
$sql .= " SET fk_statut = ".((int) $object::STATUS_NOTSIGNED).", note_private = '".$db->escape($object->note_private)."', date_signature='".$db->idate(dol_now())."'";
|
||||||
$sql .= " WHERE rowid = ".((int) $object->id);
|
$sql .= " WHERE rowid = ".((int) $object->id);
|
||||||
|
|
||||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if (!$resql) {
|
if (!$resql) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessage("PropalRefused");
|
|
||||||
|
$message = 'refused';
|
||||||
|
setEventMessages("PropalRefused", null, 'warning');
|
||||||
} else {
|
} else {
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
}
|
}
|
||||||
|
|
||||||
$object->fetch(0, $ref);
|
$object->fetch(0, $ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,7 +376,7 @@ if ($action == "dosign" && empty($cancel)) {
|
|||||||
success: function(response) {
|
success: function(response) {
|
||||||
if(response == "success"){
|
if(response == "success"){
|
||||||
console.log("Success on saving signature");
|
console.log("Success on saving signature");
|
||||||
window.location.replace("'.$_SERVER["SELF"].'?ref='.$ref.'");
|
window.location.replace("'.$_SERVER["SELF"].'?ref='.$ref.'&message=signed");
|
||||||
}else{
|
}else{
|
||||||
console.error(response);
|
console.error(response);
|
||||||
}
|
}
|
||||||
@ -390,10 +399,18 @@ if ($action == "dosign" && empty($cancel)) {
|
|||||||
} else {
|
} else {
|
||||||
if ($object->status == $object::STATUS_SIGNED) {
|
if ($object->status == $object::STATUS_SIGNED) {
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<span class="ok">'.$langs->trans("PropalAlreadySigned").'</span>';
|
if ($message == 'signed') {
|
||||||
|
print '<span class="ok">'.$langs->trans("PropalSigned").'</span>';
|
||||||
|
} else {
|
||||||
|
print '<span class="ok">'.$langs->trans("PropalAlreadySigned").'</span>';
|
||||||
|
}
|
||||||
} elseif ($object->status == $object::STATUS_NOTSIGNED) {
|
} elseif ($object->status == $object::STATUS_NOTSIGNED) {
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<span class="warning">'.$langs->trans("PropalAlreadyRefused").'</span>';
|
if ($message == 'refused') {
|
||||||
|
print '<span class="ok">'.$langs->trans("PropalRefused").'</span>';
|
||||||
|
} else {
|
||||||
|
print '<span class="warning">'.$langs->trans("PropalAlreadyRefused").'</span>';
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
print '<input type="submit" class="butAction small wraponsmartphone marginbottomonly marginleftonly marginrightonly reposition" value="'.$langs->trans("SignPropal").'">';
|
print '<input type="submit" class="butAction small wraponsmartphone marginbottomonly marginleftonly marginrightonly reposition" value="'.$langs->trans("SignPropal").'">';
|
||||||
print '<input name="refusepropal" type="submit" class="butActionDelete small wraponsmartphone marginbottomonly marginleftonly marginrightonly" value="'.$langs->trans("RefusePropal").'">';
|
print '<input name="refusepropal" type="submit" class="butActionDelete small wraponsmartphone marginbottomonly marginleftonly marginrightonly" value="'.$langs->trans("RefusePropal").'">';
|
||||||
|
|||||||
@ -83,6 +83,21 @@ if (empty($endpoint_secret)) {
|
|||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS)) {
|
||||||
|
// We set the user to use for all ipn actions in Dolibarr
|
||||||
|
$user = new User($db);
|
||||||
|
$user->fetch($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS);
|
||||||
|
$user->getrights();
|
||||||
|
} else {
|
||||||
|
print 'Error: Setup of module Stripe not complete for mode '.$service.'. The STRIPE_USER_ACCOUNT_FOR_ACTIONS is not defined.';
|
||||||
|
http_response_code(400); // PHP 5.4 or greater
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// TODO Add a check on a security key
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@ -110,10 +125,6 @@ try {
|
|||||||
|
|
||||||
$langs->load("main");
|
$langs->load("main");
|
||||||
|
|
||||||
// TODO Do we really need a user in setup just to have a name to fill an email topic when it is a technical system notification email
|
|
||||||
$user = new User($db);
|
|
||||||
$user->fetch($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS);
|
|
||||||
$user->getrights();
|
|
||||||
|
|
||||||
if (!empty($conf->multicompany->enabled) && !empty($conf->stripeconnect->enabled) && is_object($mc)) {
|
if (!empty($conf->multicompany->enabled) && !empty($conf->stripeconnect->enabled) && is_object($mc)) {
|
||||||
$sql = "SELECT entity";
|
$sql = "SELECT entity";
|
||||||
@ -276,11 +287,11 @@ if ($event->type == 'payout.created') {
|
|||||||
|
|
||||||
$ret = $mailfile->sendfile();
|
$ret = $mailfile->sendfile();
|
||||||
|
|
||||||
http_response_code(200); // PHP 5.4 or greater
|
http_response_code(200);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
$error++;
|
$error++;
|
||||||
http_response_code(500); // PHP 5.4 or greater
|
http_response_code(500);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} elseif ($event->type == 'customer.source.created') {
|
} elseif ($event->type == 'customer.source.created') {
|
||||||
@ -385,4 +396,4 @@ if ($event->type == 'payout.created') {
|
|||||||
// This event is deprecated.
|
// This event is deprecated.
|
||||||
}
|
}
|
||||||
|
|
||||||
http_response_code(200); // PHP 5.4 or greater
|
http_response_code(200);
|
||||||
|
|||||||
@ -1351,9 +1351,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -172,9 +172,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,9 +149,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($objectsrc->fk_project)) {
|
if (!empty($objectsrc->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($objectsrc->fk_project);
|
$proj->fetch($objectsrc->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$objectsrc->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -349,9 +349,7 @@ if (!$ret) {
|
|||||||
if (!empty($act->fk_project)) {
|
if (!empty($act->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($act->fk_project);
|
$proj->fetch($act->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$act->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
|
||||||
$morehtmlref .= '</a>';
|
|
||||||
if ($proj->title) {
|
if ($proj->title) {
|
||||||
$morehtmlref .= ' - '.$proj->title;
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
}
|
}
|
||||||
@ -533,9 +531,10 @@ if (!$ret) {
|
|||||||
if (!empty($fichinter->fk_project)) {
|
if (!empty($fichinter->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($fichinter->fk_project);
|
$proj->fetch($fichinter->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$fichinter->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -750,9 +750,10 @@ if ($id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -197,9 +197,10 @@ if ($object->id) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,9 +160,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2489,7 +2489,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
print '<div class="fichehalfleft">';
|
print '<div class="fichehalfleft">';
|
||||||
|
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border tableforfield" width="100%">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
// Type Prospect/Customer/Supplier
|
// Type Prospect/Customer/Supplier
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('NatureOfThirdParty').'</td><td>';
|
print '<tr><td class="titlefield">'.$langs->trans('NatureOfThirdParty').'</td><td>';
|
||||||
@ -2718,7 +2718,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
print '<div class="fichehalfright">';
|
print '<div class="fichehalfright">';
|
||||||
|
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border tableforfield">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
// Tags / categories
|
// Tags / categories
|
||||||
if (!empty($conf->categorie->enabled) && !empty($user->rights->categorie->lire)) {
|
if (!empty($conf->categorie->enabled) && !empty($user->rights->categorie->lire)) {
|
||||||
|
|||||||
@ -21,6 +21,8 @@ if (empty($conf) || !is_object($conf)) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<!-- linesalesrepresentative.tpl.php -->';
|
||||||
|
|
||||||
// Sale representative
|
// Sale representative
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||||
@ -45,7 +47,7 @@ if ($action == 'editsalesrepresentatives') {
|
|||||||
$arrayselected = $object->getSalesRepresentatives($user, 1);
|
$arrayselected = $object->getSalesRepresentatives($user, 1);
|
||||||
}
|
}
|
||||||
print $form->multiselectarray('commercial', $userlist, $arrayselected, null, null, null, null, "90%");
|
print $form->multiselectarray('commercial', $userlist, $arrayselected, null, null, null, null, "90%");
|
||||||
print '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'" />';
|
print '<input type="submit" class="button valignmiddle small" value="'.$langs->trans("Modify").'" />';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
} else {
|
} else {
|
||||||
$listsalesrepresentatives = $object->getSalesRepresentatives($user);
|
$listsalesrepresentatives = $object->getSalesRepresentatives($user);
|
||||||
|
|||||||
@ -1492,9 +1492,10 @@ if ($action == 'create') {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -157,9 +157,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -144,9 +144,10 @@ if ($object->id > 0) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,9 +99,10 @@ if (!empty($conf->projet->enabled)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -128,9 +128,10 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
if (!empty($object->fk_project)) {
|
if (!empty($object->fk_project)) {
|
||||||
$proj = new Project($db);
|
$proj = new Project($db);
|
||||||
$proj->fetch($object->fk_project);
|
$proj->fetch($object->fk_project);
|
||||||
$morehtmlref .= '<a href="'.DOL_URL_ROOT.'/projet/card.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
|
$morehtmlref .= ' : '.$proj->getNomUrl(1);
|
||||||
$morehtmlref .= $proj->ref;
|
if ($proj->title) {
|
||||||
$morehtmlref .= '</a>';
|
$morehtmlref .= ' - '.$proj->title;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$morehtmlref .= '';
|
$morehtmlref .= '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4774,7 +4774,7 @@ div.visible {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
|
div.hidden, header.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.unvisible {
|
.unvisible {
|
||||||
|
|||||||
@ -4660,7 +4660,7 @@ div.visible {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
|
div.hidden, header.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -111,8 +111,8 @@ class Workstation extends CommonObject
|
|||||||
'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,),
|
'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,),
|
||||||
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>512, 'notnull'=>-1, 'visible'=>-2,),
|
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>512, 'notnull'=>-1, 'visible'=>-2,),
|
||||||
'nb_operators_required' => array('type'=>'integer', 'label'=>'NbOperatorsRequired', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
'nb_operators_required' => array('type'=>'integer', 'label'=>'NbOperatorsRequired', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
||||||
'thm_operator_estimated' => array('type'=>'double', 'help'=>'THMEstimatedHelp','label'=>'THMOperatorEstimated', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
'thm_operator_estimated' => array('type'=>'double', 'help'=>'THMOperatorEstimatedHelp','label'=>'THMOperatorEstimated', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
||||||
'thm_machine_estimated' => array('type'=>'double', 'help'=>'THMEstimatedHelp', 'label'=>'THMMachineEstimated', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
'thm_machine_estimated' => array('type'=>'double', 'help'=>'THMMachineEstimatedHelp', 'label'=>'THMMachineEstimated', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>1,),
|
||||||
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'default'=>1, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Disabled', '1'=>'Enabled'),),
|
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'default'=>1, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Disabled', '1'=>'Enabled'),),
|
||||||
);
|
);
|
||||||
public $rowid;
|
public $rowid;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user