Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop
This commit is contained in:
commit
87ab3ae297
12
.travis.yml
12
.travis.yml
@ -56,7 +56,7 @@ before_script:
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'DROP DATABASE IF EXISTS myapp_test;'; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE IF NOT EXISTS myapp_test;'; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.5.0.sql; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.4.0.sql; fi"
|
||||
- echo Create config file htdocs/conf/conf.php
|
||||
- echo '<?php ' > htdocs/conf/conf.php
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then echo '$'dolibarr_main_db_type=\'pgsql\'';' >> htdocs/conf/conf.php; fi"
|
||||
@ -80,10 +80,18 @@ before_script:
|
||||
- sudo /etc/init.d/apache2 restart
|
||||
- wget http://localhost/
|
||||
- cat index.html
|
||||
|
||||
|
||||
|
||||
|
||||
script:
|
||||
- cd htdocs/install
|
||||
- php upgrade.php 3.4.0 3.5.0 > upgrade.log
|
||||
- php upgrade2.php 3.4.0 3.5.0 > upgrade2.log
|
||||
- php upgrade.php 3.5.0 3.6.0 >> upgrade.log
|
||||
- php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log
|
||||
- cd ../..
|
||||
# - cat upgrade.log
|
||||
# - cat upgrade2.log
|
||||
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php
|
||||
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/BuildDocTest.php
|
||||
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/WebservicesOtherTest.php
|
||||
|
||||
@ -50,6 +50,9 @@ http://www.fsf.org/licensing/licenses/index_html
|
||||
Copyright
|
||||
---------
|
||||
|
||||
Copyright (C) 2014
|
||||
- Marcos García <marcosgdf@gmail.com>
|
||||
|
||||
Copyright (C) 2013
|
||||
- Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
- Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
|
||||
113
ChangeLog
113
ChangeLog
@ -7,8 +7,14 @@ For users:
|
||||
- New: Add list of orders products in tab "consumption" on thirdparties.
|
||||
- New: Add graph stats for suppliers orders in tab "stats" on products.
|
||||
- New: Add option MAIN_HIDE_INACTIVETAB_ON_PRINT to hide inactive tabs when you
|
||||
use the "print" view on screen.
|
||||
use the "print" view on screen.
|
||||
- New: Add menu entry to barcode genration page.
|
||||
- New: Add option MAIN_AUTO_TIMESTAMP_IN_NOTES to automatically add timestamp
|
||||
and user line into editionf field when editing a note.
|
||||
- New: Add button cancel into edition of notes.
|
||||
- New: Improved Opensurvey module and added options to disable comments and disable
|
||||
public votes
|
||||
- New: The box "balance of bank accounts" show all opened accounts.
|
||||
|
||||
For translators:
|
||||
- Update language files.
|
||||
@ -17,7 +23,16 @@ For developers:
|
||||
- New: Add path file of trigger into admin trigger list page.
|
||||
- New: More phpunit tests.
|
||||
- New: Payments and supplier payment pages tabs can now be extended from modules.
|
||||
- New: Add option 'aZ' into GETPOST function to check parameters contains
|
||||
only a to z or A to Z characters.
|
||||
- New: Opensurvey polls tab cards can now be extended from external modules.
|
||||
- New: Triggers OPENSURVEY_CREATE, OPENSURVEY_DELETE
|
||||
|
||||
WARNING: Following change may create regression for some external modules, but was necessary to make
|
||||
Dolibarr better:
|
||||
|
||||
- The deprecated way (with 4 parameters) to declare a new tab into a module descriptor file has been
|
||||
removed. You must now use the 6 parameters way. See file modMyModule.class.php for example.
|
||||
|
||||
|
||||
***** ChangeLog for 3.5 compared to 3.4.* *****
|
||||
@ -153,56 +168,63 @@ parameter. All methods addline in this case were modified to remove this paramet
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
|
||||
Fix: Bad get of localtaxes into contracts add lines
|
||||
|
||||
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
|
||||
Fix: field's problem into company's page (RIB)
|
||||
Fix: Document cerfa doesn't contained firstname & lastname from donator
|
||||
Fix: field's problem into company's page (RIB).
|
||||
Fix: Document cerfa doesn't contained firstname & lastname from donator.
|
||||
Fix: Bad rounding on margin calculations and display.
|
||||
Fix: Option drop table into backup was broken.
|
||||
Fix: [ bug #1105 ] Searching Boxes other search option
|
||||
Fix: wrong buy price update
|
||||
Fix: [ bug #1142 ] Set paiement on invoice (PGSql)
|
||||
Fix: [ bug #1145 ] Agenda button list type do not display
|
||||
Fix: [ bug #1148 ] Product consomation : supplier order bad status
|
||||
Fix: [ bug #1159 ] Commercial search "other" give p.note do not exists
|
||||
Fix: [ bug #1174 ] Product translated description not good into PDF
|
||||
Fix: [ bug #1163 ] SQL Error when searching for supplier orders
|
||||
Fix: [ bug #1162 ] Translaction for morning and afternoon
|
||||
Fix: [ bug #1161 ] Search on product label
|
||||
Fix: [ bug #1105 ] Searching Boxes other search option.
|
||||
Fix: wrong buy price update.
|
||||
Fix: [ bug #1142 ] Set paiement on invoice (PGSql).
|
||||
Fix: [ bug #1145 ] Agenda button list type do not display.
|
||||
Fix: [ bug #1148 ] Product consomation : supplier order bad status.
|
||||
Fix: [ bug #1159 ] Commercial search "other" give p.note do not exists.
|
||||
Fix: [ bug #1174 ] Product translated description not good into PDF.
|
||||
Fix: [ bug #1163 ] SQL Error when searching for supplier orders.
|
||||
Fix: [ bug #1162 ] Translaction for morning and afternoon.
|
||||
Fix: [ bug #1161 ] Search on product label.
|
||||
Fix: [ bug #1075 ] POS module doesn't decrement stock of products in delayed payment mode.
|
||||
Fix: [ bug #1171 ] Documents lost in interventions after validating
|
||||
Fix: fix unsubscribe URL into mailing when sending manually (not by script)
|
||||
Fix: [ bug #1182 ] ODT company_country tag is htmlencoded
|
||||
Fix: [ bug #1196 ] Product barcode search does not expect 13th digit on EAN13 type
|
||||
Fix: [ bug #1202 ] Wrong amount in deposit % invoice from proposal
|
||||
Fix: [ bug #1171 ] Documents lost in interventions after validating.
|
||||
Fix: fix unsubscribe URL into mailing when sending manually (not by script).
|
||||
Fix: [ bug #1182 ] ODT company_country tag is htmlencoded.
|
||||
Fix: [ bug #1196 ] Product barcode search does not expect 13th digit on EAN13 type.
|
||||
Fix: [ bug #1202 ] Wrong amount in deposit % invoice from proposal.
|
||||
Fix: Removed analytics tags into doc page.
|
||||
Fix: Call Image on this instead of pdf.
|
||||
Fix: Missing parameter for photo.
|
||||
Fix: Bad SQL request for turnover report.
|
||||
|
||||
***** ChangeLog for 3.4.1 compared to 3.4.0 *****
|
||||
Fix: Display buying price on line edit when no supplier price is defined
|
||||
Fix: Retrieving of margin info when invoice created automatically from order
|
||||
Fix: Reordering supplier products in list by supplier or supplier ref was crashing
|
||||
Fix: [ bug #1029 ] Tulip numbering mask
|
||||
Fix: Supplier invoice and supplier order are not displayed into object link into agenda event card
|
||||
Fix: [ bug #1033 ] SUPPLIER REF disappeared
|
||||
Fix: update extrafield do not display immediately after update
|
||||
Fix: Fix bug with canvas thirdparty
|
||||
Fix: [ bug #1037 ] Consumption> Supplier invoices related
|
||||
Fix: User group name do not display in card (view or edit mode)
|
||||
Fix: Link "Show all supplier invoice" on supplier card not working
|
||||
Fix: [ bug #1039 ] Pre-defined invoices conversion
|
||||
Fix: If only service module is activated, it's impossible to delete service
|
||||
Fix: [ bug #1043 ] Bad interventions ref numbering
|
||||
Fix: Mailing module : if an email is already in destinaires list all other email from selector was not inserted
|
||||
Fix: Localtaxes balance not showing
|
||||
Fix: Intervention box links to contracts id
|
||||
Fix: Compatibility with multicompany module
|
||||
Fix: Edit propal line was losing product supplier price id
|
||||
Fix: Delete linked element to supplier invoice when deleted
|
||||
Fix: [ bug #1061 ] Bad info shipped products
|
||||
Fix: [ bug #1062 ] Documents lost in propals and contracts validating
|
||||
Fix: Supplier price displayed on document lines and margin infos didnt take discount
|
||||
Fix: sorting on qty did not work in supplier product list
|
||||
Fix: there was no escaping on filter fields in supplier product list
|
||||
Fix: bugs on margin reports and better margin calculation on credit notes
|
||||
Qual: Add travis-ci integration
|
||||
Fix: Display buying price on line edit when no supplier price is defined.
|
||||
Fix: Retrieving of margin info when invoice created automatically from order.
|
||||
Fix: Reordering supplier products in list by supplier or supplier ref was crashing.
|
||||
Fix: [ bug #1029 ] Tulip numbering mask.
|
||||
Fix: Supplier invoice and supplier order are not displayed into object link into agenda event card.
|
||||
Fix: [ bug #1033 ] SUPPLIER REF disappeared.
|
||||
Fix: update extrafield do not display immediatly after update.
|
||||
Fix: Fix bug with canvas thirdparty.
|
||||
Fix: [ bug #1037 ] Consumption> Supplier invoices related.
|
||||
Fix: User group name do not display in card (view or edit mode).
|
||||
Fix: Link "Show all supplier invoice" on suplier card not working.
|
||||
Fix: [ bug #1039 ] Pre-defined invoices conversion.
|
||||
Fix: If only service module is activated, it's impossible to delete service.
|
||||
Fix: [ bug #1043 ] Bad interventions ref numbering.
|
||||
Fix: Mailing module : if an email is already in destinaires list all other email from selector was not inserted.
|
||||
Fix: Localtaxes balance not showing.
|
||||
Fix: Intervention box links to contracts id.
|
||||
Fix: Compatiblity with multicompany module.
|
||||
Fix: Edit propal line was losing product supplier price id.
|
||||
Fix: Delete linked element to supplier invoice when deleted.
|
||||
Fix: [ bug #1061 ] Bad info shipped products.
|
||||
Fix: [ bug #1062 ] Documents lost in propals and contracts validating.
|
||||
Fix: Supplier price displayed on document lines and margin infos didnt take discount.
|
||||
Fix: sorting on qty did not work in supplier product list.
|
||||
Fix: there was no escaping on filter fields in supplier product list.
|
||||
Fix: bugs on margin reports and better margin calculation on credit notes.
|
||||
Qual: Add travis-ci integration.
|
||||
|
||||
***** ChangeLog for 3.4 compared to 3.3.* *****
|
||||
For users:
|
||||
@ -301,6 +323,7 @@ backport commit 384e3812eb73a15adafb472cacfb93397a54459b to fix W3C/edit contrac
|
||||
|
||||
|
||||
***** ChangeLog for 3.3.5 compared to 3.3.4 *****
|
||||
- Fix: Change to make debian package ok despite removal of ckeditor.
|
||||
- Fix: jcrop file to match debian rules
|
||||
- Fix: Add missing country UK.
|
||||
- Fix: Minor fix into package.
|
||||
|
||||
80
README.md
80
README.md
@ -76,61 +76,63 @@ See ChangeLog file found into package.
|
||||
|
||||
### Main modules/features:
|
||||
|
||||
- Customers, Prospects or Suppliers directory
|
||||
- Products and services catalog
|
||||
- Bank accounts management
|
||||
- Orders management
|
||||
- Commercial proposals management
|
||||
- Contracts management
|
||||
- Invoices management
|
||||
- Payments management
|
||||
- Standing orders management
|
||||
- Stock management
|
||||
- Shipping management
|
||||
- Customers, Prospects or Suppliers directory.
|
||||
- Products and services catalog.
|
||||
- Bank accounts management.
|
||||
- Orders management.
|
||||
- Commercial proposals management.
|
||||
- Contracts management.
|
||||
- Invoices management.
|
||||
- Payments management.
|
||||
- Standing orders management.
|
||||
- Stock management.
|
||||
- Shipping management.
|
||||
- PDF or ODT generation for invoice, proposals, orders...
|
||||
- Agenda with ical,vcal export for third tools integration
|
||||
- EDM (Electronic Document Management)
|
||||
- Foundations members management
|
||||
- Employee's holidays management
|
||||
- Mass Emailing
|
||||
- Realize surveys
|
||||
- Point of Sale
|
||||
- Agenda with ical,vcal export for third tools integration.
|
||||
- EDM (Electronic Document Management).
|
||||
- Foundations members management.
|
||||
- Employee's holidays management.
|
||||
- Mass Emailing.
|
||||
- Realize surveys.
|
||||
- Point of Sale.
|
||||
|
||||
### Other modules:
|
||||
|
||||
- Bookmarks management
|
||||
- Donations management
|
||||
- Reporting
|
||||
- Data export/import
|
||||
- LDAP connectivity
|
||||
- Third parties or products categories
|
||||
- ClickToDial integration
|
||||
- RSS integration
|
||||
- Bookmarks management.
|
||||
- Donations management.
|
||||
- Reporting.
|
||||
- Data export/import.
|
||||
- Third parties or products categories.
|
||||
- LDAP connectivity.
|
||||
- ClickToDial integration.
|
||||
- RSS integration.
|
||||
- Can be extended with a lot of other external modules available onto DoliStore.com.
|
||||
|
||||
### Miscellaneous:
|
||||
|
||||
- Multi-user, with several permissions levels for each feature.
|
||||
- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions).
|
||||
- Very user friendly and easy to use.
|
||||
- Optional WYSIWYG forms, optional Ajax forms.
|
||||
- Several skins.
|
||||
- Code is highly customizable (a lot of use of modules and submodules).
|
||||
- Works with Mysql 4.1 or higher, or PostgreSql 8.14 or higher.
|
||||
- Works with PHP 5.0 or higher.
|
||||
- An easy to understand and maintain code (PHP with no heavy frameworks).
|
||||
- A trigger architecture to allow you to make Dolibarr business events run PHP code to update your own information system.
|
||||
- "NPR VAT Rate" (French particularity for managing VAT in DOM-TOM called "Non Perçue Récupérable").
|
||||
|
||||
- Highly customizable: Enable only modules you need, user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one).
|
||||
- Works with PHP 5.2.1, MySql 4.1 or PostgreSQL 8.1.
|
||||
- Compatible with all Cloud solutions that match MySql, PHP or PostgreSQL prerequisites.
|
||||
- An easy to understand, maintain and code interfaces with your own system information (PHP with no heavy frameworks, trigger and hook architecture).
|
||||
- Support countries specific features:
|
||||
Spanish Tax RE and ISPF.
|
||||
French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM).
|
||||
Canadian double taxes (federal/province) and other countries using cumulative VAT.
|
||||
Tunisian tax stamp.
|
||||
Compatible with European directives (2006/112/CE ... 2010/45/UE) (http://europa.eu/legislation_summaries/taxation/l31057_en.htm)
|
||||
...
|
||||
|
||||
|
||||
## WHAT DOLIBARR CAN'T DO YET (TODO LIST)
|
||||
|
||||
This is features that Dolibarr does not support completely yet:
|
||||
|
||||
- No double party accountancy (only bank management).
|
||||
- No double party accountancy (only bank and treasury management).
|
||||
- Dolibarr manage one currency at once (mono-currency).
|
||||
- Dolibarr manage one master company/foundation (mono-company). If you want to manage several companies or foundations, you must install several time the software (on same server or not). Another solution is to extend Dolibarr with the addon Module MultiCompany that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas).
|
||||
- Dolibarr does not contains Payroll module.
|
||||
- Dolibarr manage one master activity (mono-company). If you want to manage several companies or foundations, you must install several time the software (on same server or not). Another solution is to extend Dolibarr with the addon Module MultiCompany that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas).
|
||||
- Tasks on module project can't have dependencies between each other.
|
||||
- Dolibarr does not contains Payroll module.
|
||||
- Dolibarr does not include any Webmail.
|
||||
- Dolibarr can't do coffee (not yet).
|
||||
|
||||
@ -120,8 +120,11 @@ Puis pour se connecter et préparer l'environnement
|
||||
> apt-get install links mysql-client
|
||||
|
||||
Pour tester un package
|
||||
> cp *.deb /srv/chroot/unstable/tmp
|
||||
> cp ../build-area/* /srv/chroot/unstable/tmp
|
||||
> sudo schroot -c name_of_chroot
|
||||
> cd /tmp
|
||||
> lintian --pedantic -E -I dolibarr*.deb
|
||||
> lintian --pedantic -E -I dolibarr*.dsc
|
||||
> dpkg -i dolibarr*.deb
|
||||
> apt-get install -f
|
||||
|
||||
|
||||
@ -134,6 +134,7 @@ class modMyModule extends DolibarrModules
|
||||
// 'payment' to add a tab in payment view
|
||||
// 'payment_supplier' to add a tab in supplier payment view
|
||||
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
|
||||
// 'opensurveypoll' to add a tab in opensurvey poll view
|
||||
$this->tabs = array();
|
||||
|
||||
// Dictionnaries
|
||||
|
||||
@ -158,7 +158,7 @@ foreach ($modulesdir as $dir)
|
||||
if ($objMod->version == 'development' && (empty($conf->global->$const_name) && ($conf->global->MAIN_FEATURES_LEVEL < 2))) $modulequalified=0;
|
||||
if ($objMod->version == 'experimental' && (empty($conf->global->$const_name) && ($conf->global->MAIN_FEATURES_LEVEL < 1))) $modulequalified=0;
|
||||
// We discard modules according to property disabled
|
||||
if (isset($objMod->hidden) && $objMod->hidden) $modulequalified=false;
|
||||
if (! empty($objMod->hidden)) $modulequalified=false;
|
||||
|
||||
// Define array $categ with categ with at least one qualified module
|
||||
if ($modulequalified)
|
||||
|
||||
@ -26,8 +26,10 @@ require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/printsheet/modules_labels.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/genericobject.class.php';
|
||||
|
||||
$langs->load("admin");
|
||||
$langs->load("members");
|
||||
$langs->load("errors");
|
||||
|
||||
// Choix de l'annee d'impression ou annee courante.
|
||||
@ -36,124 +38,166 @@ $year=dol_print_date($now,'%Y');
|
||||
$month=dol_print_date($now,'%m');
|
||||
$day=dol_print_date($now,'%d');
|
||||
$forbarcode=GETPOST('forbarcode');
|
||||
$forbartype=GETPOST('forbartype');
|
||||
$fk_barcode_type=GETPOST('fk_barcode_type');
|
||||
$mode=GETPOST('mode');
|
||||
$model=GETPOST("model"); // Doc template to use for business cards
|
||||
$modellabel=GETPOST("modellabel"); // Doc template to use for address sheet
|
||||
$modellabel=GETPOST("modellabel"); // Doc template to use
|
||||
$numberofsticker=GETPOST('numberofsticker','int');
|
||||
|
||||
$mesg='';
|
||||
|
||||
$action=GETPOST('action');
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'builddoc' && empty($forbarcode))
|
||||
if ($action == 'builddoc')
|
||||
{
|
||||
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Barcode"));
|
||||
}
|
||||
if ($action == 'builddoc' && empty($forbartype))
|
||||
{
|
||||
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType"));
|
||||
}
|
||||
$result=0; $error=0;
|
||||
|
||||
if ((! empty($forbarcode) || ! empty($forbartype) || ! empty($mode)) && ! $mesg)
|
||||
{
|
||||
// List of values to scan for a replacement
|
||||
$substitutionarray = array (
|
||||
'%LOGIN%'=>$user->login,
|
||||
'%COMPANY%'=>$mysoc->name,
|
||||
'%ADDRESS%'=>$mysoc->address,
|
||||
'%ZIP%'=>$mysoc->zip,
|
||||
'%TOWN%'=>$mysoc->town,
|
||||
'%COUNTRY%'=>$mysoc->country,
|
||||
'%COUNTRY_CODE%'=>$mysoc->country_code,
|
||||
'%EMAIL%'=>$mysoc->email,
|
||||
'%YEAR%'=>$year,
|
||||
'%MONTH%'=>$month,
|
||||
'%DAY%'=>$day,
|
||||
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
|
||||
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/"
|
||||
);
|
||||
complete_substitutions_array($substitutionarray, $langs);
|
||||
|
||||
// For business cards
|
||||
if (empty($mode) || $mode=='card' || $mode=='cardlogin')
|
||||
if (empty($forbarcode)) // barcode value
|
||||
{
|
||||
$textleft=make_substitutions($conf->global->ADHERENT_CARD_TEXT, $substitutionarray);
|
||||
$textheader=make_substitutions($conf->global->ADHERENT_CARD_HEADER_TEXT, $substitutionarray);
|
||||
$textfooter=make_substitutions($conf->global->ADHERENT_CARD_FOOTER_TEXT, $substitutionarray);
|
||||
$textright=make_substitutions($conf->global->ADHERENT_CARD_TEXT_RIGHT, $substitutionarray);
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeValue")),'errors');
|
||||
$error++;
|
||||
}
|
||||
if (empty($fk_barcode_type)) // barcode type = barcode encoding
|
||||
{
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType")),'errors');
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (is_numeric($forbarcode) || $forbartype)
|
||||
if (! $error)
|
||||
{
|
||||
// Get encoder (barcode_type_coder) from barcode type id (barcode_type)
|
||||
$stdobject=new GenericObject($db);
|
||||
$stdobject->barcode_type=$fk_barcode_type;
|
||||
$result=$stdobject->fetch_barcode();
|
||||
if ($result <= 0)
|
||||
{
|
||||
for($j=0;$j<100;$j++)
|
||||
$error++;
|
||||
setEventMessage('Failed to get bar code type information '.$stdobject->error, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$code=$forbarcode;
|
||||
$generator=$stdobject->barcode_type_coder;
|
||||
$encoding=strtoupper($stdobject->barcode_type_code);
|
||||
$barcodeimage=$conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png';
|
||||
|
||||
$diroutput=$conf->barcode->dir_temp;
|
||||
dol_mkdir($diroutput);
|
||||
|
||||
// Generate barcode
|
||||
$dirbarcode=array_merge(array("/core/modules/barcode/"),$conf->modules_parts['barcode']);
|
||||
|
||||
foreach($dirbarcode as $reldir)
|
||||
{
|
||||
$dir=dol_buildpath($reldir,0);
|
||||
$newdir=dol_osencode($dir);
|
||||
|
||||
// Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php)
|
||||
if (! is_dir($newdir)) continue;
|
||||
|
||||
$result=@include_once $newdir.$generator.'.modules.php';
|
||||
if ($result) break;
|
||||
}
|
||||
|
||||
// Load barcode class
|
||||
$classname = "mod".ucfirst($generator);
|
||||
$module = new $classname($db);
|
||||
if ($module->encodingIsSupported($encoding))
|
||||
{
|
||||
dol_delete_file($barcodeimage);
|
||||
// File is created with full name $barcodeimage = $conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png';
|
||||
$result=$module->writeBarCode($code,$encoding,'Y',4);
|
||||
|
||||
if ($result <= 0 || ! dol_is_file($barcodeimage))
|
||||
{
|
||||
$error++;
|
||||
setEventMessage('Failed to generate image file of barcode for code='.$code.' encoding='.$encoding.' file='.basename($barcodeimage), 'errors');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error++;
|
||||
setEventMessage("Error, encoding ".$encoding." is not supported by encoder ".$generator.'. You must choose another barcode type or install a barcode generation engine that support '.$encoding, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
// List of values to scan for a replacement
|
||||
$substitutionarray = array (
|
||||
'%LOGIN%'=>$user->login,
|
||||
'%COMPANY%'=>$mysoc->name,
|
||||
'%ADDRESS%'=>$mysoc->address,
|
||||
'%ZIP%'=>$mysoc->zip,
|
||||
'%TOWN%'=>$mysoc->town,
|
||||
'%COUNTRY%'=>$mysoc->country,
|
||||
'%COUNTRY_CODE%'=>$mysoc->country_code,
|
||||
'%EMAIL%'=>$mysoc->email,
|
||||
'%YEAR%'=>$year,
|
||||
'%MONTH%'=>$month,
|
||||
'%DAY%'=>$day,
|
||||
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
|
||||
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/"
|
||||
);
|
||||
complete_substitutions_array($substitutionarray, $langs);
|
||||
|
||||
// For labels
|
||||
if ($mode == 'label')
|
||||
{
|
||||
if (empty($conf->global->ADHERENT_ETIQUETTE_TEXT)) $conf->global->ADHERENT_ETIQUETTE_TEXT="%PHOTO%";
|
||||
$textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray);
|
||||
$textheader='';
|
||||
$textfooter='';
|
||||
$textright='';
|
||||
$forceimgscalewidth=(empty($conf->global->BARCODE_FORCEIMGSCALEWIDTH)?1:$conf->global->BARCODE_FORCEIMGSCALEWIDTH);
|
||||
$forceimgscaleheight=(empty($conf->global->BARCODE_FORCEIMGSCALEHEIGHT)?1:$conf->global->BARCODE_FORCEIMGSCALEHEIGHT);
|
||||
|
||||
for ($i=0; $i < $numberofsticker; $i++)
|
||||
{
|
||||
$arrayofmembers[]=array(
|
||||
'textleft'=>$textleft,
|
||||
'textheader'=>$textheader,
|
||||
'textfooter'=>$textfooter,
|
||||
'textright'=>$textright,
|
||||
'id'=>$objp->rowid,
|
||||
'photo'=>$objp->photo
|
||||
'textleft'=>$textleft,
|
||||
'textheader'=>$textheader,
|
||||
'textfooter'=>$textfooter,
|
||||
'textright'=>$textright,
|
||||
'photo'=>$barcodeimage // Photo must be a file that exists with format supported by TCPDF
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
$i++;
|
||||
$mesg='';
|
||||
|
||||
// Build and output PDF
|
||||
if ($mode == 'label')
|
||||
{
|
||||
$arrayofmembers[]=array(
|
||||
'textleft'=>$textleft,
|
||||
'textheader'=>$textheader,
|
||||
'textfooter'=>$textfooter,
|
||||
'textright'=>$textright,
|
||||
'id'=>$objp->rowid,
|
||||
'photo'=>$objp->photo
|
||||
);
|
||||
if (! count($arrayofmembers))
|
||||
{
|
||||
$mesg=$langs->trans("ErrorRecordNotFound");
|
||||
}
|
||||
if (empty($modellabel) || $modellabel == '-1')
|
||||
{
|
||||
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DescADHERENT_ETIQUETTE_TYPE"));
|
||||
}
|
||||
if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs, $diroutput);
|
||||
}
|
||||
}
|
||||
|
||||
// For labels
|
||||
if ($mode == 'label')
|
||||
{
|
||||
if (empty($conf->global->ADHERENT_ETIQUETTE_TEXT)) $conf->global->ADHERENT_ETIQUETTE_TEXT="%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%";
|
||||
$textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray);
|
||||
$textheader='';
|
||||
$textfooter='';
|
||||
$textright='';
|
||||
|
||||
$arrayofmembers[]=array('textleft'=>$textleft,
|
||||
'textheader'=>$textheader,
|
||||
'textfooter'=>$textfooter,
|
||||
'textright'=>$textright,
|
||||
'id'=>$objp->rowid,
|
||||
'photo'=>$objp->photo);
|
||||
}
|
||||
|
||||
$i++;
|
||||
|
||||
// Build and output PDF
|
||||
if ($mode == 'label')
|
||||
{
|
||||
if (! count($arrayofmembers))
|
||||
if ($result <= 0)
|
||||
{
|
||||
$mesg=$langs->trans("ErrorRecordNotFound");
|
||||
dol_print_error('',$result);
|
||||
}
|
||||
if (empty($modellabel) || $modellabel == '-1')
|
||||
{
|
||||
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DescADHERENT_ETIQUETTE_TYPE"));
|
||||
}
|
||||
if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs);
|
||||
}
|
||||
|
||||
if ($result <= 0)
|
||||
{
|
||||
dol_print_error('',$result);
|
||||
if (! $mesg)
|
||||
{
|
||||
$db->close();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $mesg)
|
||||
{
|
||||
$db->close();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -168,16 +212,25 @@ llxHeader('',$langs->trans("BarCodePrintsheet"));
|
||||
print_fiche_titre($langs->trans("BarCodePrintsheet"));
|
||||
print '<br>';
|
||||
|
||||
print $langs->trans("PageToGenerateBarCodeSheets").'<br>';
|
||||
print $langs->trans("PageToGenerateBarCodeSheets",$langs->transnoentitiesnoconv("BuildPageToPrint")).'<br>';
|
||||
print '<br>';
|
||||
|
||||
dol_htmloutput_errors($mesg);
|
||||
|
||||
print img_picto('','puce').' '.$langs->trans("BarCodePrintsheet").' ';
|
||||
//print img_picto('','puce').' '.$langs->trans("PrintsheetForOneBarCode").'<br>';
|
||||
//print '<br>';
|
||||
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||
print '<input type="hidden" name="mode" value="label">';
|
||||
print '<input type="hidden" name="action" value="builddoc">';
|
||||
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' ';
|
||||
|
||||
print '<div class="tagtable">';
|
||||
|
||||
// Sheet format
|
||||
print ' <div class="tagtr">';
|
||||
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' ';
|
||||
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
// List of possible labels (defined into $_Avery_Labels variable set into format_cards.lib.php)
|
||||
$arrayoflabels=array();
|
||||
foreach(array_keys($_Avery_Labels) as $codecards)
|
||||
@ -185,12 +238,64 @@ foreach(array_keys($_Avery_Labels) as $codecards)
|
||||
$arrayoflabels[$codecards]=$_Avery_Labels[$codecards]['name'];
|
||||
}
|
||||
print $form->selectarray('modellabel',$arrayoflabels,(GETPOST('modellabel')?GETPOST('modellabel'):$conf->global->ADHERENT_ETIQUETTE_TYPE),1,0,0);
|
||||
print '<br>'.$langs->trans("Barcode").': <input size="10" type="text" name="forbarcode" value="'.GETPOST('forbarcode').'">';
|
||||
print '<br>'.$langs->trans("Bartype").': <input size="10" type="text" name="forbartype" value="'.GETPOST('forbartype').'">';
|
||||
print '</div></div>';
|
||||
|
||||
// Number of stickers to print
|
||||
print ' <div class="tagtr">';
|
||||
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print $langs->trans("NumberOfStickers").' ';
|
||||
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print '<input size="4" type="text" name="numberofsticker" value="'.(GETPOST('numberofsticker')?GETPOST('numberofsticker','int'):10).'">';
|
||||
print '</div></div>';
|
||||
|
||||
print '</div>';
|
||||
|
||||
|
||||
print '<br>';
|
||||
|
||||
// Checkbox to select from free text
|
||||
print '<input id="fillmanually" type="checkbox" checked="checked"> '.$langs->trans("FillBarCodeTypeAndValueManually").' ';
|
||||
print '<br>';
|
||||
|
||||
/*
|
||||
print '<input id="fillfromproduct" type="checkbox" checked="checked" disabled="true"> '.$langs->trans("FillBarCodeTypeAndValueFromProduct").' ';
|
||||
print $form->select_produits(GETPOST('productid'), 'productid', '');
|
||||
print '<br>';
|
||||
|
||||
print '<input id="fillfromthirdparty" type="checkbox" checked="checked" disabled="true"> '.$langs->trans("FillBarCodeTypeAndValueFromThirdParty").' ';
|
||||
print $form->select_company(GETPOST('socid'), 'socid', '', 1);
|
||||
print '<br>';
|
||||
*/
|
||||
|
||||
print '<div class="tagtable">';
|
||||
|
||||
// Barcode type
|
||||
print ' <div class="tagtr">';
|
||||
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print $langs->trans("BarcodeType").' ';
|
||||
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbarcode.class.php';
|
||||
$formbarcode = new FormBarCode($db);
|
||||
$formbarcode->select_barcode_type($fk_barcode_type, 'fk_barcode_type', 1);
|
||||
print '</div></div>';
|
||||
|
||||
// Barcode value
|
||||
print ' <div class="tagtr">';
|
||||
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print $langs->trans("BarcodeValue").' ';
|
||||
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
|
||||
print '<input size="16" type="text" name="forbarcode" value="'.GETPOST('forbarcode').'">';
|
||||
print '</div></div>';
|
||||
|
||||
/*
|
||||
$barcodestickersmask=GETPOST('barcodestickersmask');
|
||||
print '<br>'.$langs->trans("BarcodeStickersMask").': <textarea cols="40" type="text" name="barcodestickersmask" value="'.GETPOST('barcodestickersmask').'">'.$barcodestickersmask.'</textarea>';
|
||||
print '<br><input class="button" type="submit" value="'.$langs->trans("BuildDoc").'">';
|
||||
print '<br>'.$langs->trans("BarcodeStickersMask").':<br>';
|
||||
print '<textarea cols="40" type="text" name="barcodestickersmask" value="'.GETPOST('barcodestickersmask').'">'.$barcodestickersmask.'</textarea>';
|
||||
print '<br>';
|
||||
*/
|
||||
|
||||
print '<br><input class="button" type="submit" value="'.$langs->trans("BuildPageToPrint").'">';
|
||||
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
|
||||
|
||||
@ -499,7 +499,7 @@ class Categorie
|
||||
$column_name=$type;
|
||||
if ($type=='contact') $column_name='socpeople';
|
||||
if ($type=='fournisseur') $column_name='societe';
|
||||
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type;
|
||||
$sql .= " WHERE fk_categorie = ".$this->id;
|
||||
$sql .= " AND fk_".$column_name." = ".$obj->id;
|
||||
@ -528,16 +528,20 @@ class Categorie
|
||||
}
|
||||
|
||||
/**
|
||||
* Return list of contents of a category
|
||||
* Return list of fetched instance of elements having this category
|
||||
*
|
||||
* @param string $field Field name for select in table. Full field name will be fk_field.
|
||||
* @param string $classname PHP Class of object to store entity
|
||||
* @param string $category_table Table name for select in table. Full table name will be PREFIX_categorie_table.
|
||||
* @param string $object_table Table name for select in table. Full table name will be PREFIX_table.
|
||||
* @return void
|
||||
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact')
|
||||
* @return mixed -1 if KO, array of instance of object if OK
|
||||
*/
|
||||
function get_type($field,$classname,$category_table='',$object_table='')
|
||||
function getObjectsInCateg($type)
|
||||
{
|
||||
$field=''; $classname=''; $category_table=''; $object_table='';
|
||||
if ($type=='product') { $field='product'; $classname='Product'; }
|
||||
if ($type=='customer') { $field='societe'; $classname='Societe'; }
|
||||
if ($type=='supplier') { $field='societe'; $classname='Fournisseur'; $category_table='fournisseur'; }
|
||||
if ($type=='member') { $field='member'; $classname='Adherent'; $category_table=''; $object_table='adherent'; }
|
||||
if ($type=='contact') { $field='socpeople'; $classname='Contact'; $category_table='contact'; $object_table='socpeople'; }
|
||||
|
||||
$objs = array();
|
||||
|
||||
// Clean parameters
|
||||
@ -551,7 +555,7 @@ class Categorie
|
||||
$sql.= " AND c.fk_categorie = ".$this->id;
|
||||
$sql.= " AND c.fk_".$field." = o.rowid";
|
||||
|
||||
dol_syslog(get_class($this)."::get_type sql=".$sql);
|
||||
dol_syslog(get_class($this)."::getObjectsInCateg sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -566,7 +570,7 @@ class Categorie
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error().' sql='.$sql;
|
||||
dol_syslog(get_class($this)."::get_type ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::getObjectsInCateg ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -583,7 +587,6 @@ class Categorie
|
||||
$sql.= " WHERE fk_parent = ".$this->id;
|
||||
|
||||
$res = $this->db->query($sql);
|
||||
|
||||
if ($res)
|
||||
{
|
||||
$cats = array ();
|
||||
@ -1054,23 +1057,24 @@ class Categorie
|
||||
}
|
||||
|
||||
/**
|
||||
* Return list of categories linked to element of id $id and type $typeid
|
||||
* Return list of categories (id or instances) linked to element of id $id and type $type
|
||||
* Should be named getListOfCategForObject
|
||||
*
|
||||
* @param int $id Id of element
|
||||
* @param int $typeid Type of link (0 or 'product', 1 or 'supplier', 2 or 'customer', 3 or 'member', ...)
|
||||
* @param string $mode 'object'=Get array of categories, 'label'=Get array of category labels
|
||||
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated.
|
||||
* @param string $mode 'object'=Get array of fetched category instances, 'label'=Get array of category labels
|
||||
* @return mixed Array of category objects or < 0 if KO
|
||||
*/
|
||||
function containing($id,$typeid,$mode='object')
|
||||
function containing($id,$type,$mode='object')
|
||||
{
|
||||
$cats = array();
|
||||
|
||||
$table=''; $type='';
|
||||
if ($typeid == 0 || $typeid == 'product') { $typeid=0; $table='product'; $type='product'; }
|
||||
else if ($typeid == 1 || $typeid == 'supplier') { $typeid=1; $table='societe'; $type='fournisseur'; }
|
||||
else if ($typeid == 2 || $typeid == 'customer') { $typeid=2; $table='societe'; $type='societe'; }
|
||||
else if ($typeid == 3 || $typeid == 'member') { $typeid=3; $table='member'; $type='member'; }
|
||||
else if ($typeid == 4 || $typeid == 'contact') { $typeid=4; $table='socpeople'; $type='contact'; }
|
||||
$typeid=-1; $table='';;
|
||||
if ($type == '0' || $type == 'product') { $typeid=0; $table='product'; $type='product'; }
|
||||
else if ($type == '1' || $type == 'supplier') { $typeid=1; $table='societe'; $type='fournisseur'; }
|
||||
else if ($type == '2' || $type == 'customer') { $typeid=2; $table='societe'; $type='societe'; }
|
||||
else if ($type == '3' || $type == 'member') { $typeid=3; $table='member'; $type='member'; }
|
||||
else if ($type == '4' || $type == 'contact') { $typeid=4; $table='socpeople'; $type='contact'; }
|
||||
|
||||
$sql = "SELECT ct.fk_categorie, c.label";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie_".$type." as ct, ".MAIN_DB_PREFIX."categorie as c";
|
||||
@ -1110,7 +1114,7 @@ class Categorie
|
||||
*
|
||||
* @param int $id Id
|
||||
* @param string $nom Name
|
||||
* @param string $type Type
|
||||
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated.
|
||||
* @param boolean $exact Exact string search (true/false)
|
||||
* @param boolean $case Case sensitive (true/false)
|
||||
* @return array Array of category id
|
||||
@ -1119,9 +1123,16 @@ class Categorie
|
||||
{
|
||||
$cats = array();
|
||||
|
||||
$typeid=-1;
|
||||
if ($type == 0 || $type == 'product') { $typeid=0; }
|
||||
else if ($type == 1 || $type == 'supplier') { $typeid=1; }
|
||||
else if ($type == 2 || $type == 'customer') { $typeid=2; }
|
||||
else if ($type == 3 || $type == 'member') { $typeid=3; }
|
||||
else if ($type == 4 || $type == 'contact') { $typeid=4; }
|
||||
|
||||
// Generation requete recherche
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie";
|
||||
$sql.= " WHERE type = ".$type." ";
|
||||
$sql.= " WHERE type = ".$typeid;
|
||||
$sql.= " AND entity IN (".getEntity('category',1).")";
|
||||
if ($nom)
|
||||
{
|
||||
|
||||
@ -92,13 +92,13 @@ if ($id > 0 && $removeelem > 0)
|
||||
$elementtype = 'member';
|
||||
}
|
||||
else if ($type == 4 && $user->rights->societe->creer) {
|
||||
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
$tmpobject = new Contact($db);
|
||||
$result = $tmpobject->fetch($removeelem);
|
||||
$elementtype = 'contact';
|
||||
}
|
||||
|
||||
|
||||
$result=$object->del_type($tmpobject,$elementtype);
|
||||
if ($result < 0) dol_print_error('',$object->error);
|
||||
}
|
||||
@ -247,7 +247,7 @@ else
|
||||
if ($object->type == 0)
|
||||
{
|
||||
|
||||
$prods = $object->get_type("product","Product");
|
||||
$prods = $object->getObjectsInCateg("product");
|
||||
if ($prods < 0)
|
||||
{
|
||||
dol_print_error();
|
||||
@ -297,7 +297,7 @@ if ($object->type == 0)
|
||||
|
||||
if ($object->type == 1)
|
||||
{
|
||||
$socs = $object->get_type("societe","Fournisseur","fournisseur");
|
||||
$socs = $object->getObjectsInCateg("supplier");
|
||||
if ($socs < 0)
|
||||
{
|
||||
dol_print_error();
|
||||
@ -334,7 +334,7 @@ if ($object->type == 1)
|
||||
print $langs->trans("DeleteFromCat")."</a>";
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
|
||||
print "</tr>\n";
|
||||
}
|
||||
}
|
||||
@ -348,7 +348,7 @@ if ($object->type == 1)
|
||||
|
||||
if($object->type == 2)
|
||||
{
|
||||
$socs = $object->get_type("societe","Societe");
|
||||
$socs = $object->getObjectsInCateg("customer");
|
||||
if ($socs < 0)
|
||||
{
|
||||
dol_print_error();
|
||||
@ -365,6 +365,8 @@ if($object->type == 2)
|
||||
$var=true;
|
||||
foreach ($socs as $key => $soc)
|
||||
{
|
||||
if ($user->societe_id > 0 && $soc->id != $user->societe_id) continue; // External user always see only themself
|
||||
|
||||
$i++;
|
||||
$var=!$var;
|
||||
print "\t<tr ".$bc[$var].">\n";
|
||||
@ -402,7 +404,7 @@ if ($object->type == 3)
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||
|
||||
$prods = $object->get_type("member","Adherent","","adherent");
|
||||
$prods = $object->getObjectsInCateg("member");
|
||||
if ($prods < 0)
|
||||
{
|
||||
dol_print_error($db,$object->error);
|
||||
@ -454,7 +456,7 @@ if ($object->type == 3)
|
||||
//Categorie contact
|
||||
if($object->type == 4)
|
||||
{
|
||||
$contacts = $object->get_type("socpeople","Contact",'contact',"socpeople");
|
||||
$contacts = $object->getObjectsInCateg("contact");
|
||||
if ($contacts < 0)
|
||||
{
|
||||
dol_print_error();
|
||||
|
||||
@ -312,11 +312,9 @@ $sql.= ' a.priority, a.fulldayevent, a.location,';
|
||||
$sql.= ' a.fk_soc, a.fk_contact,';
|
||||
$sql.= ' ca.code';
|
||||
$sql.= ' FROM ('.MAIN_DB_PREFIX.'c_actioncomm as ca,';
|
||||
$sql.= " ".MAIN_DB_PREFIX.'user as u,';
|
||||
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a)";
|
||||
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc";
|
||||
$sql.= ' WHERE a.fk_action = ca.id';
|
||||
$sql.= ' AND a.fk_user_author = u.rowid';
|
||||
$sql.= ' AND a.entity IN ('.getEntity().')';
|
||||
if ($actioncode) $sql.=" AND ca.code='".$db->escape($actioncode)."'";
|
||||
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
|
||||
@ -325,28 +323,28 @@ if ($user->societe_id) $sql.= ' AND a.fk_soc = '.$user->societe_id; // To limit
|
||||
if ($action == 'show_day')
|
||||
{
|
||||
$sql.= " AND (";
|
||||
$sql.= " (datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " (a.datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
|
||||
$sql.= " OR ";
|
||||
$sql.= " (datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
|
||||
$sql.= " OR ";
|
||||
$sql.= " (datep < '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " AND datep2 > '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
|
||||
$sql.= " (a.datep < '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
|
||||
$sql.= " AND a.datep2 > '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
|
||||
$sql.= ')';
|
||||
}
|
||||
else
|
||||
{
|
||||
// To limit array
|
||||
$sql.= " AND (";
|
||||
$sql.= " (datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'"; // Start 7 days before
|
||||
$sql.= " (a.datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'"; // Start 7 days before
|
||||
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')"; // End 7 days after + 3 to go from 28 to 31
|
||||
$sql.= " OR ";
|
||||
$sql.= " (datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
|
||||
$sql.= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
|
||||
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
|
||||
$sql.= " OR ";
|
||||
$sql.= " (datep < '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
|
||||
$sql.= " AND datep2 > '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
|
||||
$sql.= " (a.datep < '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
|
||||
$sql.= " AND a.datep2 > '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
|
||||
$sql.= ')';
|
||||
}
|
||||
if ($type) $sql.= " AND ca.id = ".$type;
|
||||
@ -1012,7 +1010,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
||||
// Must defined rule to choose color of who to use.
|
||||
// event->usertodo->id will still contains user id of owner
|
||||
// event->userstodo will be an array in future.
|
||||
// $color=$user->color;
|
||||
// $color=$user->color;
|
||||
}
|
||||
else if ($event->type_code == 'ICALEVENT')
|
||||
{
|
||||
|
||||
@ -71,6 +71,11 @@ $object->substitutionarray=array(
|
||||
'__UNSUBSCRIBE__' => 'TagUnsubscribe'
|
||||
//,'__PERSONALIZED__' => 'Personalized' // Hidden because not used yet
|
||||
);
|
||||
if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN))
|
||||
{
|
||||
$object->substitutionarray['__SECUREKEYPAYPAL__']='SecureKeyPaypal';
|
||||
if (! empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $object->substitutionarray['__SECUREKEYPAYPAL_MEMBER__']='SecureKeyPaypalUniquePerMember';
|
||||
}
|
||||
|
||||
$object->substitutionarrayfortest=array(
|
||||
'__ID__' => 'TESTIdRecord',
|
||||
@ -86,7 +91,7 @@ $object->substitutionarrayfortest=array(
|
||||
'__SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))?$user->signature:''),
|
||||
'__CHECK_READ__' => 'TagCheckMail',
|
||||
'__UNSUBSCRIBE__' => 'TagUnsubscribe'
|
||||
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
|
||||
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
|
||||
);
|
||||
|
||||
|
||||
@ -222,7 +227,12 @@ if ($action == 'sendallconfirmed' && $confirm == 'yes')
|
||||
'__OTHER4__' => $other4,
|
||||
'__OTHER5__' => $other5
|
||||
);
|
||||
|
||||
if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN))
|
||||
{
|
||||
$substitutionarray['__SECUREKEYPAYPAL__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2);
|
||||
if (empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2);
|
||||
else $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN . 'membersubscription' . $obj->source_id, 2);
|
||||
}
|
||||
$substitutionisok=true;
|
||||
complete_substitutions_array($substitutionarray, $langs);
|
||||
$newsubject=make_substitutions($subject,$substitutionarray);
|
||||
|
||||
@ -96,6 +96,7 @@ if ($id > 0 || ! empty($ref))
|
||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||
$hookmanager->initHooks(array('propalcard'));
|
||||
|
||||
$permissionnote=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
@ -105,6 +106,9 @@ $hookmanager->initHooks(array('propalcard'));
|
||||
$parameters=array('socid'=>$socid);
|
||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
// Action clone object
|
||||
if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
{
|
||||
@ -232,18 +236,6 @@ else if ($action == 'set_ref_client' && $user->rights->propal->creer)
|
||||
$object->set_ref_client($user, $_POST['ref_client']);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_public' && $user->rights->propal->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->propal->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
// Create proposal
|
||||
else if ($action == 'add' && $user->rights->propal->creer)
|
||||
{
|
||||
|
||||
@ -44,23 +44,15 @@ $result = restrictedArea($user, 'propale', $id, 'propal');
|
||||
$object = new Propal($db);
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->propale->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
$permission=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->propale->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
@ -93,14 +93,18 @@ if ($id > 0 || ! empty($ref))
|
||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||
$hookmanager->initHooks(array('ordercard'));
|
||||
|
||||
$permissionnote=$user->rights->commande->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
$parameters=array('socid'=>$socid);
|
||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
// Action clone object
|
||||
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->creer)
|
||||
{
|
||||
@ -552,18 +556,6 @@ else if ($action == 'setremiseabsolue' && $user->rights->commande->creer)
|
||||
$result = $object->set_remise_absolue($user, GETPOST('remise_absolue'));
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_public' && $user->rights->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
// Add a new line
|
||||
else if ($action == 'addline' && $user->rights->commande->creer)
|
||||
{
|
||||
|
||||
@ -50,24 +50,15 @@ if (! $object->fetch($id, $ref) > 0)
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
$permissionnote=$user->rights->commande->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->commande->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->commande->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
/*
|
||||
* View
|
||||
|
||||
@ -52,7 +52,9 @@ $startyear=$year-1;
|
||||
$endyear=$year;
|
||||
|
||||
$langs->load('orders');
|
||||
$langs->load('companies');
|
||||
$langs->load('other');
|
||||
$langs->load('suppliers');
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -27,8 +27,7 @@
|
||||
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
|
||||
|
||||
/**
|
||||
* \class Deplacement
|
||||
* \brief Class to manage trips and working credit notes
|
||||
* Class to manage trips and working credit notes
|
||||
*/
|
||||
class Deplacement extends CommonObject
|
||||
{
|
||||
@ -65,6 +64,9 @@ class Deplacement extends CommonObject
|
||||
{
|
||||
$this->db = $db;
|
||||
|
||||
$this->statuts_short = array(0 => 'Draft', 1 => 'Validated', 2 => 'Closed');
|
||||
$this->statuts = array(0 => 'Draft', 1 => 'Validated', 2 => 'Closed');
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -327,7 +329,6 @@ class Deplacement extends CommonObject
|
||||
}
|
||||
if ($mode == 4)
|
||||
{
|
||||
//if ($statut==0 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut0').' '.$langs->trans($this->statuts[$statut]);
|
||||
if ($statut==0 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut0').' '.$langs->trans($this->statuts[$statut]);
|
||||
if ($statut==1 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut4').' '.$langs->trans($this->statuts[$statut]);
|
||||
}
|
||||
|
||||
@ -51,10 +51,15 @@ $object = new Deplacement($db);
|
||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||
$hookmanager->initHooks(array('tripsandexpensescard'));
|
||||
|
||||
$permissionnote=$user->rights->deplacement->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
if ($action == 'validate' && $user->rights->deplacement->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
@ -231,23 +236,11 @@ else if ($action == 'setkm' && $user->rights->deplacement->creer)
|
||||
$result=$object->setValueFrom('km',GETPOST('km','int'));
|
||||
if ($result < 0) dol_print_error($db, $object->error);
|
||||
}
|
||||
else if ($action == 'setnote_public' && $user->rights->deplacement->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db, $object->error);
|
||||
}
|
||||
else if ($action == 'setnote_private' && $user->rights->deplacement->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db, $object->error);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
*/
|
||||
|
||||
llxHeader();
|
||||
|
||||
@ -301,7 +294,7 @@ if ($action == 'create')
|
||||
print '<tr>';
|
||||
print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>';
|
||||
print '<td valign="top" colspan="2">';
|
||||
|
||||
|
||||
$doleditor = new DolEditor('note_public', GETPOST('note_public', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
|
||||
print $doleditor->Create(1);
|
||||
|
||||
@ -313,7 +306,7 @@ if ($action == 'create')
|
||||
print '<tr>';
|
||||
print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>';
|
||||
print '<td valign="top" colspan="2">';
|
||||
|
||||
|
||||
$doleditor = new DolEditor('note_private', GETPOST('note_private', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
|
||||
print $doleditor->Create(1);
|
||||
|
||||
@ -400,7 +393,7 @@ else if ($id)
|
||||
|
||||
$doleditor = new DolEditor('note_public', $object->note_public, 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100');
|
||||
print $doleditor->Create(1);
|
||||
|
||||
|
||||
print "</td></tr>";
|
||||
|
||||
// Private note
|
||||
@ -437,7 +430,7 @@ else if ($id)
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete");
|
||||
|
||||
|
||||
}
|
||||
|
||||
$soc = new Societe($db);
|
||||
|
||||
@ -100,6 +100,8 @@ if ($id > 0 || ! empty($ref))
|
||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||
$hookmanager->initHooks(array('invoicecard'));
|
||||
|
||||
$permissionnote=$user->rights->facture->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -108,6 +110,8 @@ $hookmanager->initHooks(array('invoicecard'));
|
||||
$parameters=array('socid'=>$socid);
|
||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
// Action clone object
|
||||
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer)
|
||||
@ -367,20 +371,6 @@ else if ($action == 'set_ref_client' && $user->rights->facture->creer)
|
||||
$object->set_ref_client($_POST['ref_client']);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_public' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
// Classify to validated
|
||||
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
|
||||
{
|
||||
|
||||
@ -45,29 +45,20 @@ $result=restrictedArea($user,'facture',$id,'');
|
||||
$object = new Facture($db);
|
||||
$object->fetch($id);
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
$permissionnote=$user->rights->facture->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Affichage fiche */
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader();
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
|
||||
/* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
|
||||
* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
@ -173,23 +174,21 @@ report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportl
|
||||
// SQL request
|
||||
$catotal=0;
|
||||
|
||||
if ($modecompta == 'CREANCES-DETTES') {
|
||||
if ($modecompta == 'CREANCES-DETTES')
|
||||
{
|
||||
$sql = "SELECT DISTINCT p.rowid as rowid, p.ref as ref, p.label as label,";
|
||||
$sql.= " sum(l.total_ht) as amount, sum(l.total_ttc) as amount_ttc";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product as p";
|
||||
$sql.= " JOIN ".MAIN_DB_PREFIX."facturedet as l";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON l.fk_facture = f.rowid";
|
||||
if ($selected_cat === -2) {
|
||||
$sql.=" LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product";
|
||||
}
|
||||
if ($selected_cat && $selected_cat !== -2) {
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON c.rowid = " . $selected_cat;
|
||||
if ($subcat) {
|
||||
$sql.=" OR c.fk_parent = " . $selected_cat;
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as l, ".MAIN_DB_PREFIX."product as p";
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product";
|
||||
}
|
||||
else if ($selected_cat) // Into a specific category
|
||||
{
|
||||
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp";
|
||||
}
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_categorie = c.rowid";
|
||||
}
|
||||
$sql.= " WHERE l.fk_product = p.rowid";
|
||||
$sql.= " AND l.fk_facture = f.rowid";
|
||||
$sql.= " AND f.fk_statut in (1,2)";
|
||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||
$sql.= " AND f.type IN (0,1,2)";
|
||||
@ -199,16 +198,21 @@ if ($modecompta == 'CREANCES-DETTES') {
|
||||
if ($date_start && $date_end) {
|
||||
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
||||
}
|
||||
if ($selected_cat === -2) {
|
||||
$sql.=" AND cp.fk_product is null";
|
||||
}
|
||||
if ($selected_cat && $selected_cat !== -2) {
|
||||
$sql.= " AND cp.fk_product = p.rowid";
|
||||
}
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.=" AND cp.fk_product is null";
|
||||
}
|
||||
else if ($selected_cat) { // Into a specific category
|
||||
$sql.= " AND (c.rowid = ".$selected_cat;
|
||||
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
|
||||
$sql.= ")";
|
||||
$sql.= " AND cp.fk_categorie = c.rowid AND cp.fk_product = p.rowid";
|
||||
}
|
||||
$sql.= " AND f.entity = ".$conf->entity;
|
||||
$sql.= " GROUP BY p.rowid ";
|
||||
$sql.= "ORDER BY p.ref ";
|
||||
$sql.= " GROUP BY p.rowid";
|
||||
$sql.= " ORDER BY p.ref";
|
||||
|
||||
dol_syslog("cabyprodserv sql=".$sql);
|
||||
$result = $db->query($sql);
|
||||
if ($result) {
|
||||
$num = $db->num_rows($result);
|
||||
@ -384,7 +388,10 @@ if ($modecompta == 'CREANCES-DETTES') {
|
||||
print '</form>';
|
||||
} else {
|
||||
// $modecompta != 'CREANCES-DETTES'
|
||||
print '<br>'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '<br>';
|
||||
// "Calculation of part of each product for accountancy in this mode is not possible. When a partial payment (for example 5 euros) is done on an
|
||||
// invoice with 2 product (product A for 10 euros and product B for 20 euros), what is part of paiment for product A and part of paiment for product B ?
|
||||
// Because there is no way to know this, this report is not relevant.
|
||||
print '<br>'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '<br>';
|
||||
}
|
||||
|
||||
llxFooter();
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
||||
* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
|
||||
@ -180,17 +180,14 @@ $catotal=0;
|
||||
if ($modecompta == 'CREANCES-DETTES') {
|
||||
$sql = "SELECT DISTINCT s.rowid as socid, s.nom as name,";
|
||||
$sql.= " sum(f.total) as amount, sum(f.total_ttc) as amount_ttc";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= " JOIN ".MAIN_DB_PREFIX."facture as f";
|
||||
if ($selected_cat === -2) {
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s";
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe";
|
||||
}
|
||||
if ($selected_cat && $selected_cat !== -2) {
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON c.rowid = ".$selected_cat;
|
||||
if ($subcat) {
|
||||
$sql.=" OR c.fk_parent = " . $selected_cat;
|
||||
}
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON cs.fk_categorie = c.rowid";
|
||||
else if ($selected_cat) // Into a specific category
|
||||
{
|
||||
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs";
|
||||
}
|
||||
$sql.= " WHERE f.fk_statut in (1,2)";
|
||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||
@ -202,28 +199,50 @@ if ($modecompta == 'CREANCES-DETTES') {
|
||||
if ($date_start && $date_end) {
|
||||
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
||||
}
|
||||
if ($selected_cat === -2) {
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.=" AND cs.fk_societe is null";
|
||||
}
|
||||
if ($selected_cat && $selected_cat !== -2) {
|
||||
$sql.= " AND cs.fk_societe = s.rowid";
|
||||
else if ($selected_cat) { // Into a specific category
|
||||
$sql.= " AND (c.rowid = ".$selected_cat;
|
||||
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
|
||||
$sql.= ")";
|
||||
$sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid";
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
/*
|
||||
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les
|
||||
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin)
|
||||
*/
|
||||
$sql = "SELECT s.rowid as socid, s.nom as name, sum(pf.amount) as amount_ttc";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."facture as f";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."paiement_facture as pf";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."paiement as p";
|
||||
$sql .= " WHERE p.rowid = pf.fk_paiement";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe";
|
||||
}
|
||||
else if ($selected_cat) // Into a specific category
|
||||
{
|
||||
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs";
|
||||
}
|
||||
$sql.= " WHERE p.rowid = pf.fk_paiement";
|
||||
$sql.= " AND pf.fk_facture = f.rowid";
|
||||
$sql.= " AND f.fk_soc = s.rowid";
|
||||
if ($date_start && $date_end) {
|
||||
$sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
|
||||
}
|
||||
if ($selected_cat === -2) // Without any category
|
||||
{
|
||||
$sql.=" AND cs.fk_societe is null";
|
||||
}
|
||||
else if ($selected_cat) { // Into a specific category
|
||||
$sql.= " AND (c.rowid = ".$selected_cat;
|
||||
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
|
||||
$sql.= ")";
|
||||
$sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid";
|
||||
}
|
||||
}
|
||||
$sql.= " AND f.entity = ".$conf->entity;
|
||||
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
|
||||
@ -231,6 +250,7 @@ $sql.= " GROUP BY s.rowid, s.nom";
|
||||
$sql.= " ORDER BY s.rowid";
|
||||
//echo $sql;
|
||||
|
||||
dol_syslog("casoc sql=".$sql);
|
||||
$result = $db->query($sql);
|
||||
if ($result) {
|
||||
$num = $db->num_rows($result);
|
||||
@ -251,7 +271,7 @@ if ($result) {
|
||||
|
||||
// On ajoute les paiements anciennes version, non lies par paiement_facture
|
||||
if ($modecompta != 'CREANCES-DETTES') {
|
||||
$sql = "SELECT '0' as socid, 'Autres' as name, sum(DISTINCT p.amount) as amount_ttc";
|
||||
$sql = "SELECT '0' as socid, 'Autres' as name, sum(p.amount) as amount_ttc";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."bank_account as ba";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."paiement as p";
|
||||
@ -483,4 +503,4 @@ print '</form>';
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
?>
|
||||
?>
|
||||
|
||||
@ -41,26 +41,15 @@ $result = restrictedArea($user, 'societe', $id, '&societe');
|
||||
$object = new Contact($db);
|
||||
if ($id > 0) $object->fetch($id);
|
||||
|
||||
$permissionnote=$user->rights->societe->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
if ($action == 'setnote_public' && $user->rights->societe->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->societe->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
|
||||
/*
|
||||
* View
|
||||
@ -91,16 +80,16 @@ if ($id > 0)
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
|
||||
|
||||
// Ref
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
print $form->showrefnav($object, 'id', $linkback);
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Name
|
||||
print '<tr><td width="20%">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%">'.$object->lastname.'</td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$object->firstname.'</td></tr>';
|
||||
|
||||
|
||||
// Company
|
||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
||||
{
|
||||
@ -108,10 +97,10 @@ if ($id > 0)
|
||||
{
|
||||
$objsoc = new Societe($db);
|
||||
$objsoc->fetch($object->socid);
|
||||
|
||||
|
||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
||||
@ -119,20 +108,20 @@ if ($id > 0)
|
||||
print '</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Civility
|
||||
print '<tr><td>'.$langs->trans("UserTitle").'</td><td colspan="3">';
|
||||
print $object->getCivilityLabel();
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Date To Birth
|
||||
print '<tr>';
|
||||
if (! empty($object->birthday))
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
|
||||
|
||||
print '<td>'.$langs->trans("DateToBirth").'</td><td colspan="3">'.dol_print_date($object->birthday,"day");
|
||||
|
||||
|
||||
print ' ';
|
||||
//var_dump($birthdatearray);
|
||||
$ageyear=convertSecondToTime($now-$object->birthday,'year')-1970;
|
||||
@ -140,8 +129,8 @@ if ($id > 0)
|
||||
if ($ageyear >= 2) print '('.$ageyear.' '.$langs->trans("DurationYears").')';
|
||||
else if ($agemonth >= 2) print '('.$agemonth.' '.$langs->trans("DurationMonths").')';
|
||||
else print '('.$agemonth.' '.$langs->trans("DurationMonth").')';
|
||||
|
||||
|
||||
|
||||
|
||||
print ' - ';
|
||||
if ($object->birthday_alert) print $langs->trans("BirthdayAlertOn");
|
||||
else print $langs->trans("BirthdayAlertOff");
|
||||
@ -152,7 +141,7 @@ if ($id > 0)
|
||||
print '<td>'.$langs->trans("DateToBirth").'</td><td colspan="3">'.$langs->trans("Unknown")."</td>";
|
||||
}
|
||||
print "</tr>";
|
||||
|
||||
|
||||
print "</table>";
|
||||
|
||||
print '<br>';
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -66,11 +66,15 @@ $hookmanager->initHooks(array('contractcard'));
|
||||
|
||||
$object = new Contrat($db);
|
||||
|
||||
$permissionnote=$user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
if ($action == 'confirm_active' && $confirm == 'yes' && $user->rights->contrat->activer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
@ -448,8 +452,8 @@ else if ($action == 'addline' && $user->rights->contrat->creer)
|
||||
$desc=$product_desc;
|
||||
}
|
||||
|
||||
$localtax1_tx=get_localtax($tva_tx,1,$object->societe);
|
||||
$localtax2_tx=get_localtax($tva_tx,2,$object->societe);
|
||||
$localtax1_tx=get_localtax($tva_tx,1,$object->thirdparty);
|
||||
$localtax2_tx=get_localtax($tva_tx,2,$object->thirdparty);
|
||||
|
||||
// ajout prix achat
|
||||
$fk_fournprice = $_POST['fournprice'];
|
||||
@ -669,18 +673,6 @@ else if ($action == 'confirm_move' && $confirm == 'yes' && $user->rights->contra
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_public' && $user->rights->contrat->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->contrat->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->contrat->creer)
|
||||
{
|
||||
if ($action == 'addcontact')
|
||||
|
||||
@ -43,28 +43,20 @@ $result=restrictedArea($user,'contrat',$id);
|
||||
$object = new Contrat($db);
|
||||
$object->fetch($id,$ref);
|
||||
|
||||
$permissionnote=$user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->contrat->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(dol_htmlcleanlastbr(GETPOST('note_public')), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->contrat->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(dol_htmlcleanlastbr(GETPOST('note_private')), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Affichage fiche */
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader();
|
||||
|
||||
|
||||
47
htdocs/core/actions_setnotes.inc.php
Normal file
47
htdocs/core/actions_setnotes.inc.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/* Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/core/actions_setnotes.inc.php
|
||||
* \brief Code for actions on setting notes of object page
|
||||
*/
|
||||
|
||||
|
||||
// $action must be defined
|
||||
// $permission must be defined to permission to edit object
|
||||
// $object must be defined (object is loaded in this file with fetch)
|
||||
// $id must be defined (object is loaded in this file with fetch)
|
||||
|
||||
// Set public note
|
||||
if ($action == 'setnote_public' && ! empty($permissionnote) && ! GETPOST('cancel'))
|
||||
{
|
||||
if (empty($action) || ! is_object($object) || empty($id)) dol_print_error('','Include of actions_setnotes.inc.php was done but required variable was not set before');
|
||||
if (empty($object->id)) $object->fetch($id); // Fetch may not be already done
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
// Set public note
|
||||
else if ($action == 'setnote_private' && ! empty($permissionnote) && ! GETPOST('cancel'))
|
||||
{
|
||||
if (empty($action) || ! is_object($object) || empty($id)) dol_print_error('','Include of actions_setnotes.inc.php was done but required variable was not set before');
|
||||
if (empty($object->id)) $object->fetch($id); // Fetch may not be already done
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
|
||||
?>
|
||||
@ -213,30 +213,42 @@ if ($type == 'directory')
|
||||
$textifempty = $langs->trans('NoFileFound');
|
||||
}
|
||||
else $textifempty=($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("ECMSelectASection"));
|
||||
|
||||
|
||||
$formfile->list_of_documents($filearray,'','ecm',$param,1,$relativepath,$user->rights->ecm->upload,1,$textifempty,$maxlengthname,'',$url);
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))
|
||||
|
||||
if ($section)
|
||||
{
|
||||
if ($section)
|
||||
{
|
||||
$param.=($param?'?':'').(preg_replace('/^&/','',$param));
|
||||
$useajax=1;
|
||||
if (! empty($conf->dol_use_jmobile)) $useajax=0;
|
||||
if (empty($conf->use_javascript_ajax)) $useajax=0;
|
||||
if (! empty($conf->global->MAIN_ECM_DISABLE_JS)) $useajax=0;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
||||
$useglobalvars=1;
|
||||
$form = new Form($db);
|
||||
$formquestion=array('urlfile'=>array('type'=>'hidden','value'=>'','name'=>'urlfile'));
|
||||
print $form->formconfirm($url,$langs->trans("DeleteFile"),$langs->trans("ConfirmDeleteFile"),'confirm_deletefile',$formquestion,"no",'deletefile');
|
||||
$param.=($param?'?':'').(preg_replace('/^&/','',$param));
|
||||
|
||||
// Enable jquery handlers on new generated HTML objects
|
||||
print '<script type="text/javascript">'."\n";
|
||||
print 'jQuery(document).ready(function() {'."\n";
|
||||
print 'jQuery(".deletefilelink").click(function(e) { jQuery("#urlfile").val(jQuery(this).attr("rel")); jQuery("#dialog-confirm-deletefile").dialog("open"); return false; });'."\n";
|
||||
print '});'."\n";
|
||||
print '</script>'."\n";
|
||||
}
|
||||
if ($useajax || $action == 'delete')
|
||||
{
|
||||
$urlfile='';
|
||||
if ($action == 'delete') $urlfile=GETPOST('urlfile');
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
||||
$useglobalvars=1;
|
||||
$form = new Form($db);
|
||||
$formquestion=array('urlfile'=>array('type'=>'hidden','value'=>$urlfile,'name'=>'urlfile'));
|
||||
print $form->formconfirm($url,$langs->trans("DeleteFile"),$langs->trans("ConfirmDeleteFile"),'confirm_deletefile',$formquestion,"no",($useajax?'deletefile':0));
|
||||
}
|
||||
|
||||
if ($useajax)
|
||||
{
|
||||
// Enable jquery handlers on new generated HTML objects
|
||||
print '<script type="text/javascript">'."\n";
|
||||
print 'jQuery(document).ready(function() {'."\n";
|
||||
print 'jQuery(".deletefilelink").click(function(e) { jQuery("#urlfile").val(jQuery(this).attr("rel")); jQuery("#dialog-confirm-deletefile").dialog("open"); return false; });'."\n";
|
||||
print '});'."\n";
|
||||
print '</script>'."\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Close db if mode is not noajax
|
||||
|
||||
@ -85,7 +85,7 @@ class box_comptes extends ModeleBoxes
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
|
||||
$sql.= " WHERE entity = ".$conf->entity;
|
||||
$sql.= " AND clos = 0";
|
||||
$sql.= " AND courant = 1";
|
||||
//$sql.= " AND courant = 1";
|
||||
$sql.= " ORDER BY label";
|
||||
$sql.= $db->plimit($max, 0);
|
||||
|
||||
|
||||
@ -170,7 +170,8 @@ abstract class CommonDocGenerator
|
||||
'company_idprof4'=>$object->idprof4,
|
||||
'company_idprof5'=>$object->idprof5,
|
||||
'company_idprof6'=>$object->idprof6,
|
||||
'company_note'=>$object->note
|
||||
'company_note_public'=>$object->note_public,
|
||||
'company_note_private'=>$object->note_private
|
||||
);
|
||||
|
||||
// Retrieve extrafields
|
||||
@ -260,7 +261,7 @@ abstract class CommonDocGenerator
|
||||
$array_key.'_total_localtax2'=>price2num($object->total_localtax2),
|
||||
$array_key.'_total_ttc'=>price2num($object->total_ttc),
|
||||
$array_key.'_total_discount_ht' => price2num($object->getTotalDiscount()),
|
||||
|
||||
|
||||
$array_key.'_vatrate'=>vatrate($object->tva),
|
||||
$array_key.'_note_private'=>$object->note,
|
||||
$array_key.'_note'=>$object->note_public,
|
||||
@ -314,7 +315,7 @@ abstract class CommonDocGenerator
|
||||
'line_date_end'=>$line->date_end
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Define array with couple substitution key => substitution value
|
||||
*
|
||||
|
||||
@ -156,15 +156,19 @@ class Conf
|
||||
|
||||
if ($value && preg_match('/^MAIN_MODULE_/',$key))
|
||||
{
|
||||
// If this is constant for a new tab page activated by a module.
|
||||
// If this is constant for a new tab page activated by a module. It initializes modules_parts['tabs'].
|
||||
if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i',$key))
|
||||
{
|
||||
$partname = 'tabs';
|
||||
$params=explode(':',$value,2);
|
||||
if (! isset($this->modules_parts[$partname]) || ! is_array($this->modules_parts[$partname])) { $this->modules_parts[$partname] = array(); }
|
||||
$this->modules_parts[$partname][$params[0]][]=$value;
|
||||
$this->modules_parts[$partname][$params[0]][]=$value; // $value may be a string or an array
|
||||
}
|
||||
// If this is constant for all generic part activated by a module
|
||||
// If this is constant for all generic part activated by a module. It initializes
|
||||
// modules_parts['login'], modules_parts['menus'], modules_parts['substitutions'], modules_parts['triggers'], modules_parts['tpl'],
|
||||
// modules_parts['models'], modules_parts['theme']
|
||||
// modules_parts['sms'],
|
||||
// modules_parts['css'], ...
|
||||
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i',$key,$reg))
|
||||
{
|
||||
$modulename = strtolower($reg[1]);
|
||||
@ -176,7 +180,7 @@ class Conf
|
||||
else if (in_array($partname,array('models','theme'))) $value = '/'.$modulename.'/';
|
||||
else if (in_array($partname,array('sms'))) $value = $modulename;
|
||||
else if ($value == 1) $value = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe
|
||||
$this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value));
|
||||
$this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value)); // $value may be a string or an array
|
||||
}
|
||||
// If this is a module constant (must be at end)
|
||||
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i',$key,$reg))
|
||||
@ -403,7 +407,7 @@ class Conf
|
||||
$this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : $this->global->MAIN_UPLOAD_DOC * 1024);
|
||||
|
||||
// Define list of limited modules
|
||||
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'; // '' means 'all'. Note that contact is added here as it should be a module later.
|
||||
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'; // '' means 'all'. Note that contact is added here as it should be a module later.
|
||||
|
||||
// Timeouts
|
||||
if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) $this->global->MAIN_USE_CONNECT_TIMEOUT=10;
|
||||
|
||||
@ -670,7 +670,14 @@ class ExtraFields
|
||||
}
|
||||
elseif ($type == 'select')
|
||||
{
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
$out = '';
|
||||
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo)
|
||||
{
|
||||
//$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
|
||||
$out.= ajax_combobox('options_'.$key, $event, $conf->global->COMPANY_USE_SEARCH_TO_SELECT);
|
||||
}
|
||||
|
||||
$out.='<select class="flat" name="options_'.$key.'" id="options_'.$key.'">';
|
||||
foreach ($param['options'] as $key=>$val )
|
||||
{
|
||||
list($val, $parent) = explode('|', $val);
|
||||
@ -683,7 +690,14 @@ class ExtraFields
|
||||
}
|
||||
elseif ($type == 'sellist')
|
||||
{
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
$out = '';
|
||||
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo)
|
||||
{
|
||||
//$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
|
||||
$out.= ajax_combobox('options_'.$key, $event, $conf->global->COMPANY_USE_SEARCH_TO_SELECT);
|
||||
}
|
||||
|
||||
$out.='<select class="flat" name="options_'.$key.'" id="options_'.$key.'">';
|
||||
if (is_array($param['options']))
|
||||
{
|
||||
$param_list=array_keys($param['options']);
|
||||
@ -753,6 +767,7 @@ class ExtraFields
|
||||
$fields_label = explode('|',$InfoFieldList[1]);
|
||||
if(is_array($fields_label))
|
||||
{
|
||||
$notrans = true;
|
||||
foreach ($fields_label as $field_toshow)
|
||||
{
|
||||
$labeltoshow.= $obj->$field_toshow.' ';
|
||||
@ -778,12 +793,15 @@ class ExtraFields
|
||||
}
|
||||
else
|
||||
{
|
||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||
$labeltoshow=dol_trunc($translabel,18);
|
||||
}
|
||||
else {
|
||||
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
|
||||
if(!$notrans)
|
||||
{
|
||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||
$labeltoshow=dol_trunc($translabel,18);
|
||||
}
|
||||
else {
|
||||
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
|
||||
}
|
||||
}
|
||||
if (empty($labeltoshow)) $labeltoshow='(not defined)';
|
||||
if ($value==$obj->rowid)
|
||||
@ -954,11 +972,11 @@ class ExtraFields
|
||||
{
|
||||
foreach ($fields_label as $field_toshow)
|
||||
{
|
||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||
$value=dol_trunc($translabel,18).' ';
|
||||
$translabel=$langs->trans($field_toshow);
|
||||
if ($translabel!=$field_toshow) {
|
||||
$value.=dol_trunc($translabel,18).' ';
|
||||
}else {
|
||||
$value=$obj->$InfoFieldList[1].' ';
|
||||
$value.=$obj->$field_toshow.' ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -122,7 +122,7 @@ class Form
|
||||
* @param object $object Object
|
||||
* @param boolean $perm Permission to allow button to edit parameter
|
||||
* @param string $typeofdata Type of data ('string' by default, 'amount', 'email', 'numeric:99', 'text' or 'textarea:rows:cols', 'day' or 'datepicker', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select:xxx'...)
|
||||
* @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value)
|
||||
* @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value). Use '' to use same than $value
|
||||
* @param object $extObject External object
|
||||
* @param string $success Success message
|
||||
* @param string $moreparam More param to add on a href URL
|
||||
@ -189,7 +189,13 @@ class Form
|
||||
$ret.=$doleditor->Create(1);
|
||||
}
|
||||
$ret.='</td>';
|
||||
if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker') $ret.='<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
||||
if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker')
|
||||
{
|
||||
$ret.='<td align="left"><input type="submit" class="button" name="modify" value="'.$langs->trans("Modify").'">';
|
||||
$ret.='<br><br>'."\n";
|
||||
$ret.='<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
|
||||
$ret.='</td>';
|
||||
}
|
||||
$ret.='</tr></table>'."\n";
|
||||
$ret.='</form>'."\n";
|
||||
}
|
||||
@ -2525,6 +2531,19 @@ class Form
|
||||
|
||||
if (is_array($formquestion) && ! empty($formquestion))
|
||||
{
|
||||
// First add hidden fields and value
|
||||
foreach ($formquestion as $key => $input)
|
||||
{
|
||||
if (is_array($input) && ! empty($input))
|
||||
{
|
||||
if ($input['type'] == 'hidden')
|
||||
{
|
||||
$more.='<input type="hidden" id="'.$input['name'].'" name="'.$input['name'].'" value="'.dol_escape_htmltag($input['value']).'">'."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now add questions
|
||||
$more.='<table class="paddingrightonly" width="100%">'."\n";
|
||||
$more.='<tr><td colspan="3" valign="top">'.(! empty($formquestion['text'])?$formquestion['text']:'').'</td></tr>'."\n";
|
||||
foreach ($formquestion as $key => $input)
|
||||
@ -2584,10 +2603,6 @@ class Form
|
||||
$more.=$input['value'];
|
||||
$more.='</td></tr>'."\n";
|
||||
}
|
||||
else if ($input['type'] == 'hidden')
|
||||
{
|
||||
$more.='<input type="hidden" id="'.$input['name'].'" name="'.$input['name'].'" value="'.$input['value'].'">';
|
||||
}
|
||||
}
|
||||
}
|
||||
$more.='</table>'."\n";
|
||||
|
||||
@ -813,7 +813,12 @@ class FormFile
|
||||
else
|
||||
$filepath=$file['name'];
|
||||
*/
|
||||
print '<a href="'.(($useinecm && ! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))?'#':$url.'?action=delete&urlfile='.urlencode($filepath).$param).'" class="deletefilelink" rel="'.$filepath.'">'.img_delete().'</a>';
|
||||
$useajax=1;
|
||||
if (! empty($conf->dol_use_jmobile)) $useajax=0;
|
||||
if (empty($conf->use_javascript_ajax)) $useajax=0;
|
||||
if (! empty($conf->global->MAIN_ECM_DISABLE_JS)) $useajax=0;
|
||||
|
||||
print '<a href="'.(($useinecm && $useajax)?'#':$url.'?action=delete&urlfile='.urlencode($filepath).$param).'" class="deletefilelink" rel="'.$filepath.'">'.img_delete().'</a>';
|
||||
}
|
||||
else print ' ';
|
||||
print "</td>";
|
||||
|
||||
@ -557,18 +557,17 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("ContactsForCompany") : $langs->trans("ContactsAddressesForCompany"));
|
||||
print_fiche_titre($title,$buttoncreate,'');
|
||||
|
||||
print "\n".'<table class="noborder" width="100%">'."\n";
|
||||
|
||||
|
||||
$param="socid=".$object->id;
|
||||
if ($search_status != '') $param.='&search_status='.$search_status;
|
||||
if ($search_name != '') $param.='&search_name='.urlencode($search_name);
|
||||
|
||||
print '<form method="GET" action="'.$_SERVER["PHP_SELF"].'" name="formfilter">';
|
||||
print '<input type="hidden" name="socid" value="'.$object->id.'">';
|
||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
||||
|
||||
print "\n".'<table class="noborder" width="100%">'."\n";
|
||||
|
||||
$param="socid=".$object->id;
|
||||
if ($search_status != '') $param.='&search_status='.$search_status;
|
||||
if ($search_name != '') $param.='&search_name='.urlencode($search_name);
|
||||
|
||||
$colspan=9;
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Name"),$_SERVER["PHP_SELF"],"p.lastname","",$param,'',$sortfield,$sortorder);
|
||||
@ -579,14 +578,14 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"p.email","",$param,'',$sortfield,$sortorder);
|
||||
if (! empty($conf->skype->enabled))
|
||||
{
|
||||
$colspan++;
|
||||
print '<td>'.$langs->trans("Skype").'</td>';
|
||||
$colspan++;
|
||||
print '<td>'.$langs->trans("Skype").'</td>';
|
||||
}
|
||||
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$param,'',$sortfield,$sortorder);
|
||||
// Copy to clipboard
|
||||
print "<td> </td>";
|
||||
// Add to agenda
|
||||
if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create)
|
||||
if (! empty($conf->agenda->enabled) && ! empty($user->rights->agenda->myactions->create))
|
||||
{
|
||||
$colspan++;
|
||||
print '<td> </td>';
|
||||
@ -602,7 +601,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
print '</td>';
|
||||
|
||||
print '<td> </td>';
|
||||
print '<td> </td>';
|
||||
print '<td> </td>';
|
||||
|
||||
print '<td> </td>';
|
||||
|
||||
@ -611,12 +610,12 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
print '<td> </td>';
|
||||
if (! empty($conf->skype->enabled))
|
||||
{
|
||||
$colspan++;
|
||||
print '<td> </td>';
|
||||
$colspan++;
|
||||
print '<td> </td>';
|
||||
}
|
||||
|
||||
|
||||
// Status
|
||||
print '<td class="liste_titre">';
|
||||
print '<td class="liste_titre maxwidthonsmartphone">';
|
||||
print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status);
|
||||
print '</td>';
|
||||
|
||||
@ -769,6 +768,8 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
}
|
||||
print "\n</table>\n";
|
||||
|
||||
print '</form>'."\n";
|
||||
|
||||
print "<br>\n";
|
||||
?>
|
||||
<div id="dialog" title="<?php echo dol_escape_htmltag($langs->trans('Address')); ?>" style="display: none;">
|
||||
|
||||
@ -27,56 +27,59 @@
|
||||
|
||||
global $_Avery_Labels;
|
||||
|
||||
|
||||
// Unit of metric are defined into field 'metric' in mm.
|
||||
// To get into inch, just /25.4
|
||||
// Size of pages available on: http://www.worldlabel.com/Pages/pageaverylabels.htm
|
||||
// _PosX = marginLeft+(_COUNTX*(width+SpaceX));
|
||||
$_Avery_Labels = array (
|
||||
'5160'=>array('name'=>'5160 (Letter)',
|
||||
'5160'=>array('name'=>'Avery-5160, WL-875WX',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>1.762,
|
||||
'marginTop'=>10.7,
|
||||
'marginLeft'=>5.58165, // 0.21975 inch
|
||||
'marginTop'=>12.7, // 0.5 inch
|
||||
'NX'=>3,
|
||||
'NY'=>10,
|
||||
'SpaceX'=>3.175,
|
||||
'SpaceX'=>3.556, // 0.14 inch
|
||||
'SpaceY'=>0,
|
||||
'width'=>66.675,
|
||||
'height'=>25.4,
|
||||
'font-size'=>8),
|
||||
'5161'=>array('name'=>'5161 (Letter)',
|
||||
'width'=>65.8749, // 2.59350 inch
|
||||
'height'=>25.4, // 1 inch
|
||||
'font-size'=>7),
|
||||
'5161'=>array('name'=>'Avery-5161, WL-75WX',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>0.967,
|
||||
'marginTop'=>10.7,
|
||||
'marginLeft'=>4.445, // 0.175 inch
|
||||
'marginTop'=>12.7,
|
||||
'NX'=>2,
|
||||
'NY'=>10,
|
||||
'SpaceX'=>3.967,
|
||||
'SpaceX'=>3.968, // 0.15625 inch
|
||||
'SpaceY'=>0,
|
||||
'width'=>101.6,
|
||||
'height'=>25.4,
|
||||
'font-size'=>8),
|
||||
'5162'=>array('name'=>'5162 (Letter)',
|
||||
'width'=>101.6, // 4 inch
|
||||
'height'=>25.4, // 1 inch
|
||||
'font-size'=>7),
|
||||
'5162'=>array('name'=>'Avery-5162, WL-100WX',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>0.97,
|
||||
'marginTop'=>20.224,
|
||||
'marginLeft'=>3.8735, // 0.1525 inch
|
||||
'marginTop'=>22.352, // 0.88 inch
|
||||
'NX'=>2,
|
||||
'NY'=>7,
|
||||
'SpaceX'=>4.762,
|
||||
'SpaceX'=>4.954, // 0.195 inch
|
||||
'SpaceY'=>0,
|
||||
'width'=>100.807,
|
||||
'height'=>35.72,
|
||||
'width'=>101.6, // 4 inch
|
||||
'height'=>33.781, // 1.33 inch
|
||||
'font-size'=>8),
|
||||
'5163'=>array('name'=>'5163 (Letter)',
|
||||
'5163'=>array('name'=>'Avery-5163, WL-125WX',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>1.762,
|
||||
'marginTop'=>10.7,
|
||||
'marginLeft'=>4.572, // 0.18 inch
|
||||
'marginTop'=>12.7, // 0.5 inch
|
||||
'NX'=>2,
|
||||
'NY'=>5,
|
||||
'SpaceX'=>3.175,
|
||||
'SpaceX'=>3.556, // 0.14 inch
|
||||
'SpaceY'=>0,
|
||||
'width'=>101.6,
|
||||
'height'=>50.8,
|
||||
'font-size'=>8),
|
||||
'width'=>101.6, // 4 inch
|
||||
'height'=>50.8, // 2 inch
|
||||
'font-size'=>10),
|
||||
/* Bugged '5164'=>array('name'=>'5164 (Letter)',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'in',
|
||||
@ -89,7 +92,7 @@ $_Avery_Labels = array (
|
||||
'width'=>4.0,
|
||||
'height'=>3.33,
|
||||
'font-size'=>12), */
|
||||
'8600'=>array('name'=>'8600 (Letter)',
|
||||
'8600'=>array('name'=>'Avery-8600',
|
||||
'paper-size'=>'letter',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>7.1,
|
||||
@ -100,8 +103,8 @@ $_Avery_Labels = array (
|
||||
'SpaceY'=>3.1,
|
||||
'width'=>66.6,
|
||||
'height'=>25.4,
|
||||
'font-size'=>8),
|
||||
'L7163'=>array('name'=>'L7163 (A4)',
|
||||
'font-size'=>7),
|
||||
'L7163'=>array('name'=>'Avery-L7163',
|
||||
'paper-size'=>'A4',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>5,
|
||||
@ -112,8 +115,9 @@ $_Avery_Labels = array (
|
||||
'SpaceY'=>0,
|
||||
'width'=>99.1,
|
||||
'height'=>38.1,
|
||||
'font-size'=>10),
|
||||
'AVERYC32010'=>array('name'=>'AVERY-C32010 (A4)',
|
||||
'font-size'=>8),
|
||||
// 85.0 x 54.0 mm
|
||||
'AVERYC32010'=>array('name'=>'Avery-C32010',
|
||||
'paper-size'=>'A4',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>15,
|
||||
@ -125,7 +129,7 @@ $_Avery_Labels = array (
|
||||
'width'=>85,
|
||||
'height'=>54,
|
||||
'font-size'=>10),
|
||||
'CARD'=>array('name'=>'Dolibarr Business cards (A4)',
|
||||
'CARD'=>array('name'=>'Dolibarr Business cards',
|
||||
'paper-size'=>'A4',
|
||||
'metric'=>'mm',
|
||||
'marginLeft'=>15,
|
||||
@ -139,5 +143,9 @@ $_Avery_Labels = array (
|
||||
'font-size'=>10)
|
||||
);
|
||||
|
||||
foreach($_Avery_Labels as $key => $val)
|
||||
{
|
||||
$_Avery_Labels[$key]['name'].=' ('.$_Avery_Labels[$key]['paper-size'].' - '.$_Avery_Labels[$key]['NX'].'x'.$_Avery_Labels[$key]['NY'].')';
|
||||
}
|
||||
|
||||
?>
|
||||
@ -172,7 +172,7 @@ function dol_shutdown()
|
||||
* Return value of a param into GET or POST supervariable
|
||||
*
|
||||
* @param string $paramname Name of parameter to found
|
||||
* @param string $check Type of check (''=no check, 'int'=check it's numeric, 'alpha'=check it's alpha only, 'array'=check it's array)
|
||||
* @param string $check Type of check (''=no check, 'int'=check it's numeric, 'alpha'=check it's text and sign, 'az'=check it's a-z only, 'array'=check it's array)
|
||||
* @param int $method Type of method (0 = get then post, 1 = only get, 2 = only post, 3 = post then get, 4 = post then get then cookie)
|
||||
* @return string Value found, or '' if check fails
|
||||
*/
|
||||
@ -198,6 +198,13 @@ function GETPOST($paramname,$check='',$method=0)
|
||||
if (preg_match('/"/',$out)) $out='';
|
||||
else if (preg_match('/\.\.\//',$out)) $out='';
|
||||
}
|
||||
elseif ($check == 'aZ')
|
||||
{
|
||||
$out=trim($out);
|
||||
// '"' is dangerous because param in url can close the href= or src= and add javascript functions.
|
||||
// '../' is dangerous because it allows dir transversals
|
||||
if (preg_match('/[^a-z]+/i',$out)) $out='';
|
||||
}
|
||||
elseif ($check == 'array')
|
||||
{
|
||||
if (! is_array($out) || empty($out)) $out=array();
|
||||
@ -2399,8 +2406,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
|
||||
|
||||
// If field is used as sort criteria we use a specific class
|
||||
// Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom")
|
||||
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel'.($field?' nowrap':'').'" '. $moreattrib.'>';
|
||||
else $out.= '<'.$tag.' class="liste_titre'.($field?' nowrap':'').'" '. $moreattrib.'>';
|
||||
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>';
|
||||
else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>';
|
||||
|
||||
if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field
|
||||
{
|
||||
@ -2428,7 +2435,7 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
|
||||
if (! preg_match('/^&/',$options)) $options='&'.$options;
|
||||
|
||||
//print " ";
|
||||
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
|
||||
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt=""><span class="nowrap">';
|
||||
|
||||
if (! $sortorder || $field != $sortfield)
|
||||
{
|
||||
@ -2446,6 +2453,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
$out.= '</span>';
|
||||
}
|
||||
$out.='</'.$tag.'>';
|
||||
|
||||
@ -3452,25 +3461,26 @@ function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false)
|
||||
* This function is called to encode a string into a HTML string but differs from htmlentities because
|
||||
* all entities but &,<,> are converted. This permits to encode special chars to entities with no double
|
||||
* encoding for already encoded HTML strings.
|
||||
* This function also remove last CR/BR.
|
||||
* This function also remove last EOL or BR if $removelasteolbr=1 (default).
|
||||
* For PDF usage, you can show text by 2 ways:
|
||||
* - writeHTMLCell -> param must be encoded into HTML.
|
||||
* - MultiCell -> param must not be encoded into HTML.
|
||||
* Because writeHTMLCell convert also \n into <br>, if function
|
||||
* is used to build PDF, nl2brmode must be 1
|
||||
* is used to build PDF, nl2brmode must be 1.
|
||||
*
|
||||
* @param string $stringtoencode String to encode
|
||||
* @param int $nl2brmode 0=Adding br before \n, 1=Replacing \n by br (for use with FPDF writeHTMLCell function for example)
|
||||
* @param string $pagecodefrom Pagecode stringtoencode is encoded
|
||||
* @param int $removelasteolbr 1=Remove last br or lasts \n (default), 0=Do nothing
|
||||
* @return string String encoded
|
||||
*/
|
||||
function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
|
||||
function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8',$removelasteolbr=1)
|
||||
{
|
||||
$newstring=$stringtoencode;
|
||||
if (dol_textishtml($stringtoencode))
|
||||
{
|
||||
$newstring=$stringtoencode;
|
||||
$newstring=preg_replace('/<br(\s[\sa-zA-Z_="]*)?\/?>/i','<br>',$newstring); // Replace "<br type="_moz" />" by "<br>". It's same and avoid pb with FPDF.
|
||||
$newstring=preg_replace('/<br>$/i','',$newstring); // Remove last <br>
|
||||
if ($removelasteolbr) $newstring=preg_replace('/<br>$/i','',$newstring); // Remove last <br> (remove only last one)
|
||||
$newstring=strtr($newstring,array('&'=>'__and__','<'=>'__lt__','>'=>'__gt__','"'=>'__dquot__'));
|
||||
$newstring=dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom); // Make entity encoding
|
||||
$newstring=strtr($newstring,array('__and__'=>'&','__lt__'=>'<','__gt__'=>'>','__dquot__'=>'"'));
|
||||
@ -3478,7 +3488,8 @@ function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
|
||||
}
|
||||
else
|
||||
{
|
||||
$newstring=dol_nl2br(dol_htmlentities($stringtoencode,ENT_COMPAT,$pagecodefrom),$nl2brmode);
|
||||
if ($removelasteolbr) $newstring=preg_replace('/(\r\n|\r|\n)$/i','',$newstring); // Remove last \n (may remove several)
|
||||
$newstring=dol_nl2br(dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom),$nl2brmode);
|
||||
}
|
||||
// Other substitutions that htmlentities does not do
|
||||
//$newstring=str_replace(chr(128),'€',$newstring); // 128 = 0x80. Not in html entity table. // Seems useles with TCPDF. Make bug with UTF8 languages
|
||||
@ -4321,30 +4332,37 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode=
|
||||
if (verifCond($values[4]))
|
||||
{
|
||||
if ($values[3]) $langs->load($values[3]);
|
||||
if (preg_match('/SUBSTITUTION_([^_]+)/i',$values[2],$reg))
|
||||
{
|
||||
$substitutionarray=array();
|
||||
complete_substitutions_array($substitutionarray,$langs,$object);
|
||||
$label=make_substitutions($reg[1], $substitutionarray);
|
||||
}
|
||||
else $label=$langs->trans($values[2]);
|
||||
|
||||
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[5]), 1);
|
||||
$head[$h][1] = $langs->trans($values[2]);
|
||||
$head[$h][1] = $label;
|
||||
$head[$h][2] = str_replace('+','',$values[1]);
|
||||
$h++;
|
||||
}
|
||||
}
|
||||
else if (count($values) == 5) // new declaration
|
||||
else if (count($values) == 5) // deprecated
|
||||
{
|
||||
if ($values[0] != $type) continue;
|
||||
if ($values[3]) $langs->load($values[3]);
|
||||
if (preg_match('/SUBSTITUTION_([^_]+)/i',$values[2],$reg))
|
||||
{
|
||||
$substitutionarray=array();
|
||||
complete_substitutions_array($substitutionarray,$langs,$object);
|
||||
$label=make_substitutions($reg[1], $substitutionarray);
|
||||
}
|
||||
else $label=$langs->trans($values[2]);
|
||||
|
||||
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[4]), 1);
|
||||
$head[$h][1] = $langs->trans($values[2]);
|
||||
$head[$h][1] = $label;
|
||||
$head[$h][2] = str_replace('+','',$values[1]);
|
||||
$h++;
|
||||
}
|
||||
else if (count($values) == 4) // old declaration, for backward compatibility
|
||||
{
|
||||
if ($values[0] != $type) continue;
|
||||
if ($values[2]) $langs->load($values[2]);
|
||||
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[3]), 1);
|
||||
$head[$h][1] = $langs->trans($values[1]);
|
||||
$head[$h][2] = 'tab'.$values[1];
|
||||
$h++;
|
||||
}
|
||||
}
|
||||
else if ($mode == 'remove' && preg_match('/^\-/',$values[1]))
|
||||
{
|
||||
|
||||
@ -207,7 +207,7 @@ function project_admin_prepare_head()
|
||||
* @param string $var Color
|
||||
* @param int $showproject Show project columns
|
||||
* @param int &$taskrole Array of roles of user for each tasks
|
||||
* @param int $projectsListId List of id of project allowed to user (separated with comma)
|
||||
* @param int $projectsListId List of id of project allowed to user (string separated with comma)
|
||||
* @param int $addordertick Add a tick to move task
|
||||
* @return void
|
||||
*/
|
||||
@ -257,6 +257,22 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Caller did not ask to filter on tasks of a specific user (this probably means he want also tasks of all users, into public project
|
||||
// or into all other projects if user has permission to).
|
||||
if (empty($user->rights->projet->all->lire))
|
||||
{
|
||||
// User is not allowed on this project and project is not public, so we hide line
|
||||
if (! in_array($lines[$i]->fk_project, $projectsArrayId))
|
||||
{
|
||||
// Note that having a user assigned to a task into a project user has no permission on, should not be possible
|
||||
// because assignement on task can be done only on contact of project.
|
||||
// If assignement was done and after, was removed from contact of project, then we can hide the line.
|
||||
$showline=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($showline)
|
||||
{
|
||||
@ -367,7 +383,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
|
||||
if (! $showlineingray) $inc++;
|
||||
|
||||
$level++;
|
||||
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId);
|
||||
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId, 0, $showalsopublicproj);
|
||||
$level--;
|
||||
$total += $lines[$i]->duration;
|
||||
}
|
||||
|
||||
@ -341,7 +341,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
||||
$sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
||||
}
|
||||
}
|
||||
else if (in_array($feature,$checksoc))
|
||||
else if (in_array($feature,$checksoc)) // We check feature = checksoc
|
||||
{
|
||||
// If external user: Check permission for external users
|
||||
if ($user->societe_id > 0)
|
||||
@ -450,7 +450,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
||||
}
|
||||
}
|
||||
|
||||
//print $sql."<br>";
|
||||
//print "sql=".$sql."<br>";
|
||||
if ($sql)
|
||||
{
|
||||
$resql=$db->query($sql);
|
||||
|
||||
@ -72,9 +72,9 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 600__+MAX_llx_menu__, 'companies', 'contacts', 2__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts', 'ContactsAddresses', 0, 'companies', '$user->rights->societe->lire', '', 2, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 601__+MAX_llx_menu__, 'companies', '', 600__+MAX_llx_menu__, '/contact/fiche.php?leftmenu=contacts&action=create', 'NewContactAddress', 1, 'companies', '$user->rights->societe->creer', '', 2, 0, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 602__+MAX_llx_menu__, 'companies', '', 600__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts', 'List', 1, 'companies', '$user->rights->societe->lire', '', 2, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 604__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=p', 'Prospects', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 605__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=c', 'Customers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 2, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=f', 'Suppliers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 3, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 604__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=p', 'ThirdPartyProspects', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 605__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=c', 'ThirdPartyCustomers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 2, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=f', 'ThirdPartySuppliers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 3, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled', __HANDLER__, 'left', 607__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&type=o', 'Others', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 4, __ENTITY__);
|
||||
-- Third parties - Category customer
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 650__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=1', 'SuppliersCategoriesShort', 0, 'categories', '$user->rights->categorie->lire', '', 2, 3, __ENTITY__);
|
||||
|
||||
@ -114,7 +114,7 @@ class pdf_standard
|
||||
|
||||
|
||||
/**
|
||||
* Output a sticker on page at position _COUNTX
|
||||
* Output a sticker on page at position _COUNTX, _COUNTY (_COUNTX and _COUNTY start from 0)
|
||||
* - %LOGO% is replace with company logo
|
||||
* - %PHOTO% is replace with photo provided as parameter
|
||||
*
|
||||
@ -186,25 +186,27 @@ class pdf_standard
|
||||
$pdf->image($backgroundimage,$_PosX,$_PosY,$this->_Width,$this->_Height);
|
||||
}
|
||||
|
||||
$xleft=2; $ytop=2;
|
||||
|
||||
// Top
|
||||
if ($header!='')
|
||||
{
|
||||
if ($this->code == "CARD")
|
||||
{
|
||||
$pdf->SetDrawColor(128,128,128);
|
||||
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1);
|
||||
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1); // Only 1 mm and not ytop for top text
|
||||
$pdf->SetDrawColor(0,0,0);
|
||||
}
|
||||
$pdf->SetXY($_PosX, $_PosY+1);
|
||||
$pdf->Cell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
|
||||
$pdf->SetXY($_PosX+$xleft, $_PosY+1); // Only 1 mm and not ytop for top text
|
||||
$pdf->Cell($this->_Width-2*$xleft, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
|
||||
}
|
||||
|
||||
|
||||
$xleft=2; $ytop=2+(empty($header)?0:1+$this->_Line_Height);
|
||||
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
|
||||
$defaultratio=($maxwidthtouse/$maxheighttouse);
|
||||
$ytop+=(empty($header)?0:(1+$this->_Line_Height));
|
||||
|
||||
// Define widthtouse and heighttouse
|
||||
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
|
||||
$defaultratio=($maxwidthtouse/$maxheighttouse);
|
||||
$widthtouse=$maxwidthtouse; $heighttouse=0; // old value for image
|
||||
$tmp=dol_getImageSize($photo, false);
|
||||
if ($tmp['height'])
|
||||
|
||||
@ -178,10 +178,10 @@ class modFacture extends DolibarrModules
|
||||
$this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||
$this->export_icon[$r]='bill';
|
||||
$this->export_permission[$r]=array(array("facture","facture","export"));
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancyBuyCode');
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.subprice'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancyBuyCode');
|
||||
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
|
||||
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.special_code'=>'invoice_line','fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_sell'=>'product');
|
||||
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.subprice'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.subprice'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.special_code'=>'invoice_line','fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_sell'=>'product');
|
||||
$this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them
|
||||
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
|
||||
@ -62,6 +62,8 @@ class modFckeditor extends DolibarrModules
|
||||
$this->config_page_url = array("fckeditor.php");
|
||||
|
||||
// Dependances
|
||||
global $dolibarr_js_CKEDITOR;
|
||||
$this->hidden = ($dolibarr_js_CKEDITOR == 'disabled'?1:0); // A condition to disable module (used for native debian packages)
|
||||
$this->depends = array();
|
||||
$this->requiredby = array();
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||
*
|
||||
* 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
|
||||
@ -16,11 +17,8 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup opensurvey Module OpenSurvey
|
||||
* \defgroup opensurvey Module opensurvey
|
||||
* \brief Module to OpenSurvey integration.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/core/modules/modOpenSurvey.class.php
|
||||
* \ingroup opensurvey
|
||||
* \brief Description and activation file for module OpenSurvey
|
||||
@ -74,9 +72,6 @@ class modOpenSurvey extends DolibarrModules
|
||||
//$this->dirs[0] = DOL_DATA_ROOT.'/mymodule;
|
||||
//$this->dirs[1] = DOL_DATA_ROOT.'/mymodule/temp;
|
||||
|
||||
// Config pages. Put here list of php page names stored in admin directory used to setup module
|
||||
$this->config_page_url = array("index.php@opensurvey");
|
||||
|
||||
// Dependencies
|
||||
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
|
||||
$this->requiredby = array(); // List of modules id to disable if this one is disabled
|
||||
@ -110,8 +105,7 @@ class modOpenSurvey extends DolibarrModules
|
||||
$this->rights[$r][1] = 'Read surveys'; // Permission label
|
||||
$this->rights[$r][2] = 'r'; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'survey'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$this->rights[$r][4] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$r++;
|
||||
|
||||
// Add here list of permission defined by an id, a label, a boolean and two constant strings.
|
||||
@ -120,8 +114,7 @@ class modOpenSurvey extends DolibarrModules
|
||||
$this->rights[$r][1] = 'Create/modify surveys'; // Permission label
|
||||
$this->rights[$r][2] = 'w'; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'survey'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$this->rights[$r][4] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
$r++;
|
||||
|
||||
|
||||
@ -137,7 +130,7 @@ class modOpenSurvey extends DolibarrModules
|
||||
'langs'=>'opensurvey',
|
||||
'position'=>200,
|
||||
'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled.
|
||||
'perms'=>'$user->rights->opensurvey->survey->read',
|
||||
'perms'=>'$user->rights->opensurvey->read',
|
||||
'target'=>'',
|
||||
'user'=>0);
|
||||
$r++;
|
||||
@ -161,12 +154,12 @@ class modOpenSurvey extends DolibarrModules
|
||||
'titre'=>'NewSurvey',
|
||||
'mainmenu'=>'opensurvey',
|
||||
'leftmenu'=>'opensurvey_new',
|
||||
'url'=>'/opensurvey/public/index.php?origin=dolibarr',
|
||||
'url'=>'/opensurvey/wizard/index.php',
|
||||
'langs'=>'opensurvey',
|
||||
'position'=>210,
|
||||
'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled.
|
||||
'perms'=>'',
|
||||
'target'=>'_blank',
|
||||
'perms'=>'$user->rights->opensurvey->write',
|
||||
'target'=>'',
|
||||
'user'=>0);
|
||||
$r++;
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2012-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2014 Christophe Battarel <contact@altairis.fr>
|
||||
*
|
||||
* 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
|
||||
@ -140,12 +141,15 @@ class modProduct extends DolibarrModules
|
||||
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.customcode'=>'CustomCode','p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.tobuy'=>"OnBuy",'p.datec'=>'DateCreation','p.tms'=>'DateModification');
|
||||
if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock','p.pmp'=>'PMPValue'));
|
||||
if (! empty($conf->barcode->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.barcode'=>'BarCode'));
|
||||
if (! empty($conf->fournisseur->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('s.nom'=>'Supplier','pf.ref_fourn'=>'SupplierRef','pf.unitprice'=>'SuppliersPrices'));
|
||||
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Number",'p.surface'=>"Number",'p.volume'=>"Number",'p.weight'=>"Number",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
|
||||
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.pmp'=>'Number'));
|
||||
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
|
||||
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
|
||||
if (! empty($conf->fournisseur->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('s.nom'=>'Text','pf.ref_fourn'=>'Text','pf.unitprice'=>'Number'));
|
||||
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
|
||||
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
|
||||
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
|
||||
if (! empty($conf->fournisseur->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('s.nom'=>'product','pf.ref_fourn'=>'product','pf.unitprice'=>'product'));
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label, type FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
|
||||
$resql=$this->db->query($sql);
|
||||
@ -184,6 +188,7 @@ class modProduct extends DolibarrModules
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object';
|
||||
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
|
||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
||||
|
||||
|
||||
|
||||
@ -16,11 +16,11 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup Skype Module Skype
|
||||
* \defgroup Skype Module skype
|
||||
* \brief Add a skype button.
|
||||
* \file htdocs/core/modules/modSkype.class.php
|
||||
* \ingroup Skype
|
||||
* \brief Description and activation file for module Skype
|
||||
* \brief Description and activation file for module skype
|
||||
*/
|
||||
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';
|
||||
|
||||
|
||||
@ -113,7 +113,7 @@ class pdf_standardlabel
|
||||
}
|
||||
|
||||
/**
|
||||
* Output a sticker on page at position _COUNTX
|
||||
* Output a sticker on page at position _COUNTX, _COUNTY (_COUNTX and _COUNTY start from 0)
|
||||
* - %LOGO% is replace with company logo
|
||||
* - %PHOTO% is replace with photo provided as parameter
|
||||
*
|
||||
@ -174,25 +174,27 @@ class pdf_standardlabel
|
||||
$pdf->image($backgroundimage,$_PosX,$_PosY,$this->_Width,$this->_Height);
|
||||
}
|
||||
|
||||
$xleft=2; $ytop=2;
|
||||
|
||||
// Top
|
||||
if ($header!='')
|
||||
{
|
||||
if ($this->code == "CARD")
|
||||
{
|
||||
$pdf->SetDrawColor(128,128,128);
|
||||
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1);
|
||||
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1); // Only 1 mm and not ytop for top text
|
||||
$pdf->SetDrawColor(0,0,0);
|
||||
}
|
||||
$pdf->SetXY($_PosX, $_PosY+1);
|
||||
$pdf->Cell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
|
||||
$pdf->SetXY($_PosX+$xleft, $_PosY+1); // Only 1 mm and not ytop for top text
|
||||
$pdf->Cell($this->_Width-2*$xleft, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
|
||||
}
|
||||
|
||||
|
||||
$xleft=2; $ytop=2+(empty($header)?0:1+$this->_Line_Height);
|
||||
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
|
||||
$defaultratio=($maxwidthtouse/$maxheighttouse);
|
||||
$ytop+=(empty($header)?0:(1+$this->_Line_Height));
|
||||
|
||||
// Define widthtouse and heighttouse
|
||||
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
|
||||
$defaultratio=($maxwidthtouse/$maxheighttouse);
|
||||
$widthtouse=$maxwidthtouse; $heighttouse=0; // old value for image
|
||||
$tmp=dol_getImageSize($photo, false);
|
||||
if ($tmp['height'])
|
||||
|
||||
@ -28,13 +28,13 @@ if (isset($object->extraparams[$blocname]['showhide'])) $hide = (empty($object->
|
||||
$(document).ready(function() {
|
||||
$("#hide-<?php echo $blocname ?>").click(function(){
|
||||
setShowHide(0);
|
||||
$("#<?php echo $blocname ?>_bloc").hide("blind", {direction: "vertical"}, 800).removeClass("nohideobject");
|
||||
$("#<?php echo $blocname ?>_bloc").hide("blind", {direction: "vertical"}, 300).removeClass("nohideobject");
|
||||
$(this).hide();
|
||||
$("#show-<?php echo $blocname ?>").show();
|
||||
});
|
||||
$("#show-<?php echo $blocname ?>").click(function(){
|
||||
setShowHide(1);
|
||||
$("#<?php echo $blocname ?>_bloc").show("blind", {direction: "vertical"}, 800).addClass("nohideobject");
|
||||
$("#<?php echo $blocname ?>_bloc").show("blind", {direction: "vertical"}, 300).addClass("nohideobject");
|
||||
$(this).hide();
|
||||
$("#hide-<?php echo $blocname ?>").show();
|
||||
});
|
||||
@ -43,7 +43,7 @@ $(document).ready(function() {
|
||||
var element = '<?php echo $object->element; ?>';
|
||||
var htmlelement = '<?php echo $blocname ?>';
|
||||
var type = 'showhide';
|
||||
|
||||
|
||||
$.get("<?php echo dol_buildpath('/core/ajax/extraparams.php', 1); ?>?id="+id+"&element="+element+"&htmlelement="+htmlelement+"&type="+type+"&value="+status);
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||
/* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
@ -16,12 +17,13 @@
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
|
||||
$langs->load("link");
|
||||
|
||||
/*
|
||||
* Confirm suppression
|
||||
*/
|
||||
|
||||
if ($action == 'delete')
|
||||
if ($action == 'delete')
|
||||
{
|
||||
$ret = $form->form_confirm(
|
||||
$_SERVER["PHP_SELF"] . '?id=' . $object->id . '&urlfile=' . urlencode(GETPOST("urlfile")) . '&linkid=' . GETPOST('linkid', 'int'),
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
/* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2014 Laurent Destailleur <eldy@destailleur.fr>
|
||||
*
|
||||
* 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
|
||||
@ -23,6 +24,24 @@ $note_private = 'note_private';
|
||||
$colwidth=(isset($colwidth)?$colwidth:25);
|
||||
$permission=(isset($permission)?$permission:(isset($user->rights->$module->creer)?$user->rights->$module->creer:0)); // If already defined by caller page
|
||||
$moreparam=(isset($moreparam)?$moreparam:'');
|
||||
$value_public=$object->note_public;
|
||||
$value_private=$object->note_private;
|
||||
if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_NOTES))
|
||||
{
|
||||
$stringtoadd=dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --';
|
||||
if (GETPOST('action') == 'edit'.$note_public)
|
||||
{
|
||||
$value_public=dol_concatdesc($value_public, ($value_public?"\n":"")."-- ".$stringtoadd);
|
||||
if (dol_textishtml($value_public)) $value_public.="<br>\n";
|
||||
else $value_public.="\n";
|
||||
}
|
||||
if (GETPOST('action') == 'edit'.$note_private)
|
||||
{
|
||||
$value_private=dol_concatdesc($value_private, ($value_private?"\n":"")."-- ".$stringtoadd);
|
||||
if (dol_textishtml($value_private)) $value_private.="<br>\n";
|
||||
else $value_private.="\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Special cases
|
||||
if ($module == 'propal') { $permission=$user->rights->propale->creer;}
|
||||
@ -43,13 +62,13 @@ else $typeofdata='textarea:12:100';
|
||||
<!-- BEGIN PHP TEMPLATE NOTES -->
|
||||
<div class="border table-border centpercent">
|
||||
<div class="table-border-row">
|
||||
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePublic", $note_public, $object->note_public, $object, $permission, $typeofdata, $moreparam); ?></div>
|
||||
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePublic", $note_public, $object->note_public, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
|
||||
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, $moreparam); ?></div>
|
||||
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
|
||||
</div>
|
||||
<?php if (! $user->societe_id) { ?>
|
||||
<div class="table-border-row">
|
||||
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePrivate", $note_private, $object->note_private, $object, $permission, $typeofdata, $moreparam); ?></div>
|
||||
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePrivate", $note_private, $object->note_private, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
|
||||
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, $moreparam); ?></div>
|
||||
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
@ -53,29 +53,19 @@ $result=restrictedArea($user, $origin, $origin_id);
|
||||
$object = new Expedition($db);
|
||||
$object->fetch($id);
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
$permissionnote=$user->rights->expedition->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Affichage fiche */
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader();
|
||||
|
||||
|
||||
@ -88,12 +88,15 @@ if ($id > 0 || ! empty($ref))
|
||||
if ($ret < 0) dol_print_error('',$object->error);
|
||||
}
|
||||
|
||||
$permissionnote=$user->rights->ficheinter->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$result = $object->setValid($user);
|
||||
@ -399,16 +402,6 @@ else if ($action == 'setdescription' && $user->rights->ficheinter->creer)
|
||||
$result=$object->set_description($user,GETPOST('description'));
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
else if ($action == 'setnote_public' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
else if ($action == 'setnote_private' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
// Add line
|
||||
else if ($action == "addline" && $user->rights->ficheinter->creer)
|
||||
@ -781,7 +774,7 @@ else if ($action == 'update_extras')
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object,GETPOST('attribute'));
|
||||
if ($ret < 0) $error++;
|
||||
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
@ -799,7 +792,7 @@ else if ($action == 'update_extras')
|
||||
}
|
||||
else if ($reshook < 0) $error++;
|
||||
}
|
||||
|
||||
|
||||
if ($error) $action = 'edit_extras';
|
||||
}
|
||||
|
||||
@ -973,7 +966,7 @@ if ($action == 'create')
|
||||
if (! empty($conf->projet->enabled))
|
||||
{
|
||||
$formproject=new FormProjets($db);
|
||||
|
||||
|
||||
$langs->load("project");
|
||||
|
||||
print '<tr><td valign="top">'.$langs->trans("Project").'</td><td>';
|
||||
@ -1103,7 +1096,7 @@ else if ($id > 0 || ! empty($ref))
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteIntervention'), $langs->trans('ConfirmDeleteIntervention'), 'confirm_delete','',0,1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Confirmation validation
|
||||
@ -1127,21 +1120,21 @@ else if ($id > 0 || ! empty($ref))
|
||||
$text=$langs->trans('ConfirmValidateIntervention',$numref);
|
||||
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateIntervention'), $text, 'confirm_validate','',0,1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Confirmation de la validation de la fiche d'intervention
|
||||
if ($action == 'modify')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ModifyIntervention'), $langs->trans('ConfirmModifyIntervention'), 'confirm_modify','',0,1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Confirmation de la suppression d'une ligne d'intervention
|
||||
if ($action == 'ask_deleteline')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&line_id='.GETPOST('line_id','int'), $langs->trans('DeleteInterventionLine'), $langs->trans('ConfirmDeleteInterventionLine'), 'confirm_deleteline','',0,1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
@ -1286,9 +1279,9 @@ else if ($id > 0 || ! empty($ref))
|
||||
print '<input type="hidden" name="attribute" value="'.$key.'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="id" value="'.$object->id.'">';
|
||||
|
||||
|
||||
print $extrafields->showInputField($key,$value);
|
||||
|
||||
|
||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
@ -41,22 +41,13 @@ $result = restrictedArea($user, 'ficheinter', $id, 'fichinter');
|
||||
$object = new Fichinter($db);
|
||||
$object->fetch($id,$ref);
|
||||
|
||||
$permissionnote=$user->rights->ficheinter->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->ficheinter->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -98,9 +98,15 @@ else if (! empty($socid) && $socid > 0)
|
||||
if ($ret < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
$permissionnote=$user->rights->fournisseur->commande->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
if ($action == 'setref_supplier' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result=$object->setValueFrom('ref_supplier',GETPOST('ref_supplier','alpha'));
|
||||
@ -137,23 +143,11 @@ else if ($action == 'classin' && $user->rights->fournisseur->commande->creer)
|
||||
$object->setProject($projectid);
|
||||
}
|
||||
|
||||
else if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->creer)
|
||||
else if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result = $object->set_remise($user, $_POST['remise_percent']);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_public' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'setnote_private' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
else if ($action == 'reopen' && $user->rights->fournisseur->commande->approuver)
|
||||
{
|
||||
if (in_array($object->statut, array(1, 5, 6, 7, 9)))
|
||||
|
||||
@ -44,21 +44,14 @@ $result = restrictedArea($user, 'fournisseur', $id, '', 'commande');
|
||||
$object = new CommandeFournisseur($db);
|
||||
$object->fetch($id, $ref);
|
||||
|
||||
$permissionnote=$user->rights->fournisseur->commande->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
elseif ($action == 'setnote_private' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -50,9 +50,11 @@ if (!empty($conf->projet->enabled)) {
|
||||
|
||||
|
||||
$langs->load('bills');
|
||||
$langs->load('compta');
|
||||
$langs->load('suppliers');
|
||||
$langs->load('companies');
|
||||
$langs->load('products');
|
||||
$langs->load('banks');
|
||||
|
||||
$mesg='';
|
||||
$errors=array();
|
||||
@ -82,12 +84,15 @@ if ($id > 0 || ! empty($ref))
|
||||
$ret=$object->fetch($id, $ref);
|
||||
}
|
||||
|
||||
$permissionnote=$user->rights->fournisseur->facture->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
// Action clone object
|
||||
if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
{
|
||||
@ -237,18 +242,6 @@ elseif ($action == 'setdate_lim_reglement' && $user->rights->fournisseur->factur
|
||||
$result=$object->update($user);
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
elseif ($action == 'setnote_public' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
elseif ($action == 'setnote_private' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
|
||||
// Delete payment
|
||||
elseif ($action == 'deletepaiement')
|
||||
|
||||
@ -217,7 +217,7 @@ if ($user->rights->fournisseur->facture->lire)
|
||||
print '</td><td class="liste_titre" align="right">';
|
||||
print '<input class="flat" type="text" size="8" name="search_montant_ttc" value="'.$search_montant_ttc.'">';
|
||||
print '</td><td class="liste_titre" colspan="2" align="right">';
|
||||
print '<input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||
print '<input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -43,22 +43,14 @@ $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture');
|
||||
$object = new FactureFournisseur($db);
|
||||
$object->fetch($id, $ref);
|
||||
|
||||
$permissionnote=$user->rights->fournisseur->facture->creer; // Used by the include of actions_setnotes.inc.php
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Actions */
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($action == 'setnote_public' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
elseif ($action == 'setnote_private' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
}
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
|
||||
|
||||
// Set label
|
||||
if ($action == 'setlabel' && $user->rights->fournisseur->facture->creer)
|
||||
|
||||
@ -478,7 +478,8 @@ IMG;
|
||||
header('Content-Disposition: attachment; filename="'.$name.'.pdf"');
|
||||
readfile("$name.pdf");
|
||||
}
|
||||
unlink("$name.odt");
|
||||
if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE))
|
||||
unlink("$name.odt");
|
||||
} else {
|
||||
dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG);
|
||||
dol_syslog(get_class($this).'::exportAsAttachedPDF $output_arr='.var_export($output_arr,true), LOG_DEBUG);
|
||||
@ -555,4 +556,4 @@ IMG;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@ -18,3 +18,15 @@
|
||||
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
|
||||
|
||||
ALTER TABLE llx_bookmark ADD COLUMN entity integer DEFAULT 1 NOT NULL;
|
||||
ALTER TABLE llx_opensurvey_sondage ADD COLUMN allow_comments TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT 1 AFTER canedit ;
|
||||
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN survey_link_visible ;
|
||||
ALTER TABLE llx_opensurvey_sondage DROP INDEX idx_id_sondage_admin ;
|
||||
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN id_sondage_admin ;
|
||||
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN canedit ;
|
||||
ALTER TABLE llx_opensurvey_sondage ADD COLUMN allow_spy TINYINT( 1 ) UNSIGNED NOT NULL AFTER allow_comments ;
|
||||
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN origin ;
|
||||
ALTER TABLE llx_opensurvey_sondage ADD COLUMN fk_user_creat INT( 11 ) UNSIGNED NOT NULL AFTER nom_admin ;
|
||||
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN mailsonde mailsonde TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0';
|
||||
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN titre titre TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
|
||||
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN date_fin date_fin DATETIME NOT NULL;
|
||||
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN format format VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
|
||||
@ -15,5 +15,4 @@
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-- ============================================================================
|
||||
|
||||
ALTER TABLE llx_opensurvey_sondage ADD INDEX idx_id_sondage_admin (id_sondage_admin);
|
||||
ALTER TABLE llx_opensurvey_sondage ADD INDEX idx_date_fin (date_fin);
|
||||
|
||||
@ -17,17 +17,16 @@
|
||||
|
||||
CREATE TABLE llx_opensurvey_sondage (
|
||||
id_sondage VARCHAR(16) PRIMARY KEY,
|
||||
id_sondage_admin VARCHAR(24),
|
||||
commentaires text,
|
||||
mail_admin VARCHAR(128),
|
||||
nom_admin VARCHAR(64),
|
||||
titre TEXT,
|
||||
date_fin DATETIME,
|
||||
format VARCHAR(2),
|
||||
mailsonde varchar(2) DEFAULT '0',
|
||||
survey_link_visible integer DEFAULT 1,
|
||||
canedit integer DEFAULT 0,
|
||||
origin VARCHAR(64),
|
||||
fk_user_creat INT(11) UNSIGNED NOT NULL,
|
||||
titre TEXT NOT NULL,
|
||||
date_fin DATETIME NOT NULL,
|
||||
format VARCHAR(2) NOT NULL,
|
||||
mailsonde TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0',
|
||||
allow_comments TINYINT(1) unsigned NOT NULL DEFAULT 1,
|
||||
allow_spy TINYINT(1) unsigned NOT NULL DEFAULT 1,
|
||||
tms TIMESTAMP,
|
||||
sujet TEXT
|
||||
) ENGINE=InnoDB;
|
||||
) ENGINE=InnoDB;
|
||||
@ -365,47 +365,54 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
||||
}
|
||||
}
|
||||
|
||||
// Loop on each migrate files
|
||||
foreach($filelist as $file)
|
||||
if (count($filelist) == 0)
|
||||
{
|
||||
print '<tr><td colspan="2"><hr></td></tr>';
|
||||
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>'."\n";
|
||||
|
||||
// Run sql script
|
||||
$ok=run_sql($dir.$file, 0, '', 1);
|
||||
|
||||
// Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql
|
||||
$modulesfile = array();
|
||||
foreach ($conf->file->dol_document_root as $type => $dirroot)
|
||||
{
|
||||
$handlemodule=@opendir($dirroot); // $dirroot may be '..'
|
||||
if (is_resource($handlemodule))
|
||||
{
|
||||
while (($filemodule = readdir($handlemodule))!==false)
|
||||
{
|
||||
if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories.
|
||||
{
|
||||
//print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file;
|
||||
if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file))
|
||||
{
|
||||
$modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handlemodule);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($modulesfile as $modulefilelong => $modulefileshort)
|
||||
{
|
||||
print '<tr><td colspan="2"><hr></td></tr>';
|
||||
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").' (external modules)</td><td align="right">'.$modulefileshort.'</td></tr>'."\n";
|
||||
print '<div class="error">'.$langs->trans("ErrorNoMigrationFilesFoundForParameters").'</div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Loop on each migrate files
|
||||
foreach($filelist as $file)
|
||||
{
|
||||
print '<tr><td colspan="2"><hr></td></tr>';
|
||||
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>'."\n";
|
||||
|
||||
// Run sql script
|
||||
$okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not.
|
||||
}
|
||||
$ok=run_sql($dir.$file, 0, '', 1);
|
||||
|
||||
}
|
||||
// Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql
|
||||
$modulesfile = array();
|
||||
foreach ($conf->file->dol_document_root as $type => $dirroot)
|
||||
{
|
||||
$handlemodule=@opendir($dirroot); // $dirroot may be '..'
|
||||
if (is_resource($handlemodule))
|
||||
{
|
||||
while (($filemodule = readdir($handlemodule))!==false)
|
||||
{
|
||||
if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories.
|
||||
{
|
||||
//print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file;
|
||||
if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file))
|
||||
{
|
||||
$modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handlemodule);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($modulesfile as $modulefilelong => $modulefileshort)
|
||||
{
|
||||
print '<tr><td colspan="2"><hr></td></tr>';
|
||||
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").' (external modules)</td><td align="right">'.$modulefileshort.'</td></tr>'."\n";
|
||||
|
||||
// Run sql script
|
||||
$okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not.
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=الحد من التاريخ
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=الحد من التاريخ
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=الحد من التاريخ
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Крайната дата
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Крайната дата
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Крайната дата
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Crear enquesta
|
||||
PollTitle=Títol de l'enquesta
|
||||
OpenSurveyYourName=El seu nom
|
||||
OpenSurveyYourEMail=La seva adreça de correu electrònic
|
||||
VotersCanModify=Els votants poden modificar el vot d'altres
|
||||
ToReceiveEMailForEachVote=Per rebre un email per cada vot
|
||||
TypeDate=Tipus de data
|
||||
TypeClassic=Tipus estándar
|
||||
YouAreInPollCreateArea=Està a la secció de creació d'enquestes
|
||||
FieldMandatory=Camp obligatori
|
||||
OpenSurveyDesc=Servei online per planificar una cita o elaborar una enquesta de forma fàcil i ràpida
|
||||
OpenSurveyNoRegistration=SSense registre requerit.
|
||||
OpenSurveyStep2=Seleccioneu les dates entre els dies lliures (verds). Els dies seleccionats són de color blau. Pot seleccionar un dia prèviament seleccionat fent clic de nou en ell
|
||||
RemoveAllDays=Eliminar tots els dies
|
||||
CopyHoursOfFirstDay=Copia hores del primer dia
|
||||
@ -43,7 +39,6 @@ YesNoList=Llista (buit/sí/no)
|
||||
PourContreList=Llista (buit/a favor/en contra)
|
||||
AddNewColumn=Afegir nova columna
|
||||
TitleChoice=Títol de l'opció
|
||||
InfoAfterCreate=Un cop hagi confirmat la creació de la seva enquesta, passareu automàticament a la pàgina de la seva enquesta.<br>També rebrà un email amb un enllaç a la seva enquesta per enviar als votants.
|
||||
ExportSpreadsheet=Exportar resultats a un full de càlcul
|
||||
ExpireDate=Data límit
|
||||
NbOfVoters=Núm. de votants
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Aquest nom ja havia estat usat per a aquesta enquesta
|
||||
ErrorPollDoesNotExists=Error, l'enquesta <strong>%s</strong> no existeix.
|
||||
OpenSurveyNothingToSetup=No hi ha una configuració específica que fer.
|
||||
PollWillExpire=La seva enquesta expirarà automàticament <strong>%s</strong> dies després de l'última data de la seva enquesta.
|
||||
RemovalDate=Data d'eliminació
|
||||
AddADate=Afegir una data
|
||||
AddStartHour=Afegir hora d'inici
|
||||
AddEndHour=Afegir hora de fi
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Cap comentari ha estat publicat per a aquesta enquesta
|
||||
CanEditVotes=Podeu canviar el vot d'altres
|
||||
SelectDayDesc=Per a cada dia seleccionat, pot triar, o no, les hores de reunió en el següent format:<br>- buit,<br>- "8h", "8H" o "8:00" per proporcionar una hora d'inici de la reunió,<br>- "8-11", "8h-11h", "8H-11H" o "8:00-11:00" per proporcionar una hora d'inici i de fi de la reunió,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" per el mateix però amb minuts.
|
||||
BackToCurrentMonth=Tornar al mes actual
|
||||
PublicLinkToCreateSurvey=Enllaç públic que permet a qualsevol crear una enquesta
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Vytvoření ankety
|
||||
PollTitle=Anketa titul
|
||||
OpenSurveyYourName=Vaše jméno
|
||||
OpenSurveyYourEMail=Vaše e-mailová adresa
|
||||
VotersCanModify=Voliči mohou změnit hlas ostatních
|
||||
ToReceiveEMailForEachVote=Chcete-li obdržet e-mail pro každé hlasování
|
||||
TypeDate=Zadejte datum
|
||||
TypeClassic=Typ standardní
|
||||
YouAreInPollCreateArea=Nacházíte se v sekci pro vytvoření hlasování
|
||||
FieldMandatory=Pole povinné
|
||||
OpenSurveyDesc=Online služby naplánovat rendez-vous nebo udělat průzkum snadno a rychle.
|
||||
OpenSurveyNoRegistration=Ne nutná registrace.
|
||||
OpenSurveyStep2=Zvolte termín Vašeho amoung volné dny (zelená). Vybrané dny jsou v modré barvě. Můžete zrušit výběr den předem zvolenou opětovným kliknutím na něj
|
||||
RemoveAllDays=Odstraňte všechny dny
|
||||
CopyHoursOfFirstDay=Kopírování hodin prvního dne
|
||||
@ -43,7 +39,6 @@ YesNoList=List (prázdný / ano / ne)
|
||||
PourContreList=List (prázdný / pro / proti)
|
||||
AddNewColumn=Přidat nový sloupec
|
||||
TitleChoice=Volba štítek
|
||||
InfoAfterCreate=Poté, co jste potvrdili vytvoření vašeho hlasování, budete automaticky přesměrováni na stránku vašeho hlasování. <br> Také byste měli obdržet e-mail s odkazem na vaše hlasování pro odeslání do voličů.
|
||||
ExportSpreadsheet=Export výsledků tabulku
|
||||
ExpireDate=Omezit datum
|
||||
NbOfVoters=Nb voličů
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Tento název již byl použit při tomto hlasování
|
||||
ErrorPollDoesNotExists=Chyba hlasování <strong>%s</strong> neexistuje.
|
||||
OpenSurveyNothingToSetup=Neexistuje žádné specifické nastavení dělat.
|
||||
PollWillExpire=Váš průzkum skončí automaticky <strong>%s</strong> dní po posledním dni svého hlasování.
|
||||
RemovalDate=Odstranění data
|
||||
AddADate=Přidat datum
|
||||
AddStartHour=Přidat začít hodinu
|
||||
AddEndHour=Přidat end hodinu
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Žádné komentáře byly zveřejněny na tuto anketu ještě
|
||||
CanEditVotes=Může změnit hlas ostatních
|
||||
SelectDayDesc=Pro každý vybraný den, můžete si vybrat, zda se mají splnit hodin v následujícím formátu: <br> - Prázdné, <br> - "8h", "8H" nebo "8:00" dát schůzku v úvodní hodinu, <br> - "8-11", "8h-11h", "8H-11H" nebo "08:00-11:00" dát schůzku je začátek a konec hodiny, <br> - "8h15-11h15", "8H15-11h15" nebo "08:15-11:15" to samé, ale v minutách.
|
||||
BackToCurrentMonth=Zpět na aktuální měsíc
|
||||
PublicLinkToCreateSurvey=Veřejné odkaz dovolit každý vytvořit průzkum
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Limit dato
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Limit dato
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Limit dato
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Abstimmung erstellen
|
||||
PollTitle=Abstimmungstitel
|
||||
OpenSurveyYourName=Ihr Name
|
||||
OpenSurveyYourEMail=Ihre E-Mail-Adresse
|
||||
VotersCanModify=Wähler können Stimmen von Anderen verändern
|
||||
ToReceiveEMailForEachVote=EMail für jede Stimme erhalten
|
||||
TypeDate=Typ Datum
|
||||
TypeClassic=Typ Standard
|
||||
YouAreInPollCreateArea=Du bist im Abschnitt "Abstimmung erstellen"
|
||||
FieldMandatory=Feld zwingend nötig
|
||||
OpenSurveyDesc=Online-Service um eine Verabredung oder eine Umfrage schnell und einfach zu erstellen
|
||||
OpenSurveyNoRegistration=Keine Registrierung benötigt.
|
||||
OpenSurveyStep2=Wähle Deine Daten unter den freien Tagen (grün). Die ausgewählten Tage erscheinen blau. Du kannst einen bereits ausgewählten Tag durch anklicken wieder abwählen.
|
||||
RemoveAllDays=Alle Tage entfernen
|
||||
CopyHoursOfFirstDay=Stunden vom ersten Tag kopieren
|
||||
@ -43,7 +39,6 @@ YesNoList=Liste (leer/ja/nein)
|
||||
PourContreList=Liste (leer/dafür/dagegen)
|
||||
AddNewColumn=Neue Spalte hinzufügen
|
||||
TitleChoice=Beschreibung wählen
|
||||
InfoAfterCreate=Nach der Bestätigungen zum Erstellen der Abstimmung wirst Du automatisch auf die Seite mit der Abstimmung weitergeleitet.<br>Du solltest auch ein Email mit einem Link zur Abstimmung erhalten, welches Du an die Wähler schicken kannst.
|
||||
ExportSpreadsheet=Exportiere Resultattabelle
|
||||
ExpireDate=Frist
|
||||
NbOfVoters=Anzahl Wähler
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Dieser Name wurde für diese Abstimmung schon benutzt
|
||||
ErrorPollDoesNotExists=Fehler, Umfrage <strong>%s</strong> existiert nicht.
|
||||
OpenSurveyNothingToSetup=Es gibt nichts Spezielles zu konfigurieren.
|
||||
PollWillExpire=Deine Abstimmung endet automatisch nach <strong>%s</strong> Tagen nach dem letzten Abstimmungstag.
|
||||
RemovalDate=Entferndatum
|
||||
AddADate=Datum hinzufügen
|
||||
AddStartHour=Startzeit hinzufügen
|
||||
AddEndHour=Endzeit hinzufügen
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Bisher gibt es keine Kommentare für diese Abstimmung
|
||||
CanEditVotes=Kann Stimmen von Anderen verändern
|
||||
SelectDayDesc=Für jeden ausgewählen Tag kann man die Besprechungszeiten im folgenden Format auswählen:<br>- leer,<br>- "8h", "8H" oder "8:00" für eine Besprechungs-Startzeit,<br>- "8-11", "8h-11h", "8H-11H" oder "8:00-11:00" für eine Besprechungs-Start und -Endzeit,<br>- "8h15-11h15", "8H15-11H15" oder "8:15-11:15" für das Gleiche aber mit Minuten.
|
||||
BackToCurrentMonth=Zurück zum aktuellen Monat
|
||||
PublicLinkToCreateSurvey=Öffentlicher Link mit dem Jeder eine Umfrage erstellen kann
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Δημιουργία δημοσκόπησης
|
||||
PollTitle=Τίτλος δημοσκόπησης
|
||||
OpenSurveyYourName=Το όνομά σας
|
||||
OpenSurveyYourEMail=Η διεύθυνση email σας
|
||||
VotersCanModify=Οι ψηφοφόροι μπορούν να τροποποιήσουν την ψήφο των άλλων
|
||||
ToReceiveEMailForEachVote=Να λαμβάνετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου για κάθε ψηφοφορία
|
||||
TypeDate=Ημερομηνία
|
||||
TypeClassic=Πρότυπο
|
||||
YouAreInPollCreateArea=Βρίσκεστε στο τμήμα δημιουργίας δημοσκόπηση
|
||||
FieldMandatory=Υποχρεωτικό πεδίο
|
||||
OpenSurveyDesc=On-line υπηρεσία για να προγραμματίσετε ένα ραντεβού ή να κάνετε μια έρευνα γρήγορα και εύκολα.
|
||||
OpenSurveyNoRegistration=Δεν απαιτείται εγγραφή.
|
||||
OpenSurveyStep2=Επιλέξτε τις ημερομηνίες σας ανάμεσα στις ελεύθερες ημέρες (πράσινο). Οι επιλεγμένες ημέρες είναι σε μπλε χρώμα. Μπορείτε να ακυρώσετε μια μέρα προηγουμένως επιλεγεί κάνοντας κλικ ξανά πάνω του
|
||||
RemoveAllDays=Αφαιρέστε όλες τις ημέρες
|
||||
CopyHoursOfFirstDay=Αντιγραφή ωρών της πρώτης ημέρας
|
||||
@ -43,7 +39,6 @@ YesNoList=Λίστα (άδειο/ναι/όχι)
|
||||
PourContreList=Λίστα (άδειο/για/από)
|
||||
AddNewColumn=Προσθέσετε νέα στήλη
|
||||
TitleChoice=Επιλέξτε ετικέτα
|
||||
InfoAfterCreate=Αφού έχετε επιβεβαιώσει τη δημιουργία της δημοσκόπησης σας, θα μεταφερθείτε αυτόματα στη σελίδα της δημοσκόπησης σας.<br>Θα πρέπει επίσης να λάβετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με το σύνδεσμο στο δικό σας δημοψήφισμα για την αποστολή τους στους ψηφοφόρους.
|
||||
ExportSpreadsheet=Εξαγωγή αποτελεσμάτων σε υπολογιστικό φύλλο
|
||||
ExpireDate=Όριο ημερομηνίας
|
||||
NbOfVoters=Αριθμός ψηφοφόρων
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Το όνομα αυτό χρησιμοποιείται ή
|
||||
ErrorPollDoesNotExists=Σφάλμα, δημοσκόπησης <strong>%s</strong> δεν υπάρχει.
|
||||
OpenSurveyNothingToSetup=Δεν υπάρχει συγκεκριμένη ρύθμιση να κάνετε.
|
||||
PollWillExpire=Δημοσκόπηση σας θα λήξει αυτόματα <strong>%s</strong> ημέρες μετά την τελευταία ημέρα της δημοσκόπησης σας.
|
||||
RemovalDate=Ημερομηνία αφαίρεσης
|
||||
AddADate=Προσθέσετε μια ημερομηνία
|
||||
AddStartHour=Προσθέσετε ώρα έναρξη
|
||||
AddEndHour=Προσθέσετε ώρα λήξης
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Δεν έχουν αναρτηθεί σχόλια για αυτή
|
||||
CanEditVotes=Μπορεί να αλλάξει την ψήφο των άλλων
|
||||
SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
BackToCurrentMonth=Πίσω στον τρέχοντα μήνα
|
||||
PublicLinkToCreateSurvey=Κοινόχρηστους σύνδεσμος για να επιτρέπει σε όλους να δημιουργούν μια έρευνα
|
||||
|
||||
@ -18,7 +18,7 @@ BoxLastContracts=Last contracts
|
||||
BoxLastContacts=Last contacts/addresses
|
||||
BoxLastMembers=Last members
|
||||
BoxFicheInter=Last interventions
|
||||
BoxCurrentAccounts=Current accounts balance
|
||||
BoxCurrentAccounts=Opened accounts balance
|
||||
BoxSalesTurnover=Sales turnover
|
||||
BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices
|
||||
BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices
|
||||
@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Last %s modified members
|
||||
BoxTitleLastFicheInter=Last %s modified intervention
|
||||
BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer's invoices
|
||||
BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier's invoices
|
||||
BoxTitleCurrentAccounts=Current account's balances
|
||||
BoxTitleCurrentAccounts=Opened account's balances
|
||||
BoxTitleSalesTurnover=Sales turnover
|
||||
BoxTitleTotalUnpaidCustomerBills=Unpaid customer's invoices
|
||||
BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier's invoices
|
||||
|
||||
@ -82,6 +82,7 @@ DefaultLang=Language by default
|
||||
VATIsUsed=VAT is used
|
||||
VATIsNotUsed=VAT is not used
|
||||
CopyAddressFromSoc=Fill address with thirdparty address
|
||||
NoEmailDefined=There is no email defined
|
||||
##### Local Taxes #####
|
||||
LocalTax1IsUsedES= RE is used
|
||||
LocalTax1IsNotUsedES= RE is not used
|
||||
|
||||
@ -160,9 +160,9 @@ AccountancyDashboard=Accountancy summary
|
||||
ByProductsAndServices=By products and services
|
||||
RefExt=External ref
|
||||
ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice".
|
||||
LinkedOrder=linked to command
|
||||
LinkedOrder=linked to order
|
||||
ReCalculate=Recalculate
|
||||
Mode1=Methode 1
|
||||
Mode1=Method 1
|
||||
Mode2=Method 2
|
||||
CalculationRuleDesc=To calculate total VAT, there is two methods:<br>Method 1 is rounding vat on each line, then summing them.<br>Method 2 is summing all vat on each line, then rounding result.<br>Final result may differs from few cents. Default mode is mode <b>%s</b>.
|
||||
CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier.
|
||||
|
||||
@ -37,6 +37,7 @@ ErrorBadParameters=Bad parameters
|
||||
ErrorBadValueForParameter=Wrong value '%s' for parameter incorrect '%s'
|
||||
ErrorBadImageFormat=Image file has not a supported format
|
||||
ErrorBadDateFormat=Value '%s' has wrong date format
|
||||
ErrorWrongDate=Date is not correct!
|
||||
ErrorFailedToWriteInDir=Failed to write in directory %s
|
||||
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s)
|
||||
ErrorUserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities.
|
||||
@ -63,7 +64,7 @@ ErrorNoValueForRadioType=Please fill value for radio list
|
||||
ErrorBadFormatValueList=The list value cannot have more than one come : <u>%s</u>, but need at least one: llave,valores
|
||||
ErrorFieldCanNotContainSpecialCharacters=Field <b>%s</b> must not contains special characters.
|
||||
ErrorNoAccountancyModuleLoaded=No accountancy module activated
|
||||
ErrorExportDuplicateProfil=This profil name already exists for this export set.
|
||||
ErrorExportDuplicateProfil=This profile name already exists for this export set.
|
||||
ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete.
|
||||
ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors.
|
||||
ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "statut not started" if field "done by" is also filled.
|
||||
@ -127,6 +128,7 @@ ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setu
|
||||
ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
|
||||
ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s
|
||||
ErrorWarehouseMustDiffers=Source and target warehouses must differs
|
||||
ErrorBadFormat=Bad format!
|
||||
|
||||
# Warnings
|
||||
WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
|
||||
@ -143,4 +145,4 @@ WarningUntilDirRemoved=All security warnings (visible by admin users only) will
|
||||
WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution.
|
||||
WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box.
|
||||
WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card).
|
||||
WarningNotRelevant=Irrelevant operation for this dataset
|
||||
WarningNotRelevant=Irrelevant operation for this dataset
|
||||
@ -9,16 +9,9 @@ AddACommentForPoll=You can add a comment into survey...
|
||||
AddComment=Add comment
|
||||
CreatePoll=Create poll
|
||||
PollTitle=Poll title
|
||||
OpenSurveyYourName=Your name
|
||||
OpenSurveyYourEMail=Your email address
|
||||
VotersCanModify=Voters can modify vote of others
|
||||
ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
TypeDate=Type date
|
||||
TypeClassic=Type standard
|
||||
YouAreInPollCreateArea=You are in the poll creation section
|
||||
FieldMandatory=Field mandatory
|
||||
OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
OpenSurveyNoRegistration=No registration required.
|
||||
OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
RemoveAllDays=Remove all days
|
||||
CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -27,15 +20,12 @@ SelectedDays=Selected days
|
||||
TheBestChoice=The best choice currently is
|
||||
TheBestChoices=The best choices currently are
|
||||
with=with
|
||||
OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you (without paying attention to the choices of the other voters) and validate with the plus button at the end of the line.
|
||||
InitiatorOfPoll=Initiator of the poll
|
||||
OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line.
|
||||
CommentsOfVoters=Comments of voters
|
||||
ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
|
||||
RemovePoll=Remove poll
|
||||
PollManagement=Polls management
|
||||
BackToHoursSetup=Back to hours setup
|
||||
UrlForSurvey=URL to communicate to get a direct access to survey
|
||||
PollOnChoice=Your are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
|
||||
PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
|
||||
CreateSurveyDate=Create a date survey
|
||||
CreateSurveyStandard=Create a standard survey
|
||||
CheckBox=Simple checkbox
|
||||
@ -43,7 +33,6 @@ YesNoList=List (empty/yes/no)
|
||||
PourContreList=List (empty/for/against)
|
||||
AddNewColumn=Add new column
|
||||
TitleChoice=Choice label
|
||||
InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Limit date
|
||||
NbOfVoters=Nb of voters
|
||||
@ -57,13 +46,20 @@ VoteNameAlreadyExists=This name was already used for this poll
|
||||
ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
RemovalDate=Removal date
|
||||
AddADate=Add a date
|
||||
AddStartHour=Add start hour
|
||||
AddEndHour=Add end hour
|
||||
votes=vote(s)
|
||||
NoCommentYet=No comments have been posted for this poll yet
|
||||
CanEditVotes=Can change vote of others
|
||||
CanComment=Voters can comment in the poll
|
||||
CanSeeOthersVote=Voters can see other people's vote
|
||||
SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
BackToCurrentMonth=Back to current month
|
||||
PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation
|
||||
ErrorOpenSurveyOneChoice=Enter at least one choice
|
||||
ErrorOpenSurveyDateFormat=Date must be have the format DD/MM/YYYY
|
||||
ErrorInsertingComment=There was an error while inserting your comment
|
||||
MoreChoices=Enter more choices for the voters
|
||||
SurveyExpiredInfo=The voting time of this poll has expired.
|
||||
EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s
|
||||
@ -11,14 +11,10 @@ CreatePoll=Crear encuesta
|
||||
PollTitle=Título de la encuesta
|
||||
OpenSurveyYourName=Su nombre
|
||||
OpenSurveyYourEMail=Su dirección de correo electrónico
|
||||
VotersCanModify=Los votantes pueden modificar el voto de otros
|
||||
ToReceiveEMailForEachVote=Para recibir un email por cada voto
|
||||
TypeDate=Tipo fecha
|
||||
TypeClassic=Tipo estándar
|
||||
YouAreInPollCreateArea=Está en la sección de creación de encuestas
|
||||
FieldMandatory=Campo obligatorio
|
||||
OpenSurveyDesc=Servicio online para planificar una cita o elaborar una encuesta de forma fácil y rápida.
|
||||
OpenSurveyNoRegistration=Sin registro requerido.
|
||||
OpenSurveyStep2=Seleccione sus fechas de entre los días libres (verdes). Los días seleccionados son de color azul. Puede seleccionar un día previamente seleccionado haciendo click de nuevo en él
|
||||
RemoveAllDays=Eliminar todos los días
|
||||
CopyHoursOfFirstDay=Copiar horas del primer día
|
||||
@ -43,7 +39,6 @@ YesNoList=Lista (vacío/sí/no)
|
||||
PourContreList=Lista (vacío/a favor/en contra)
|
||||
AddNewColumn=Añadir nueva columna
|
||||
TitleChoice=Título de la opción
|
||||
InfoAfterCreate=Una vez haya confirmado la creación de su encuesta, será redirigido automáticamente a la página de su encuesta.<br>También recibirá un email con un enlace a su encuesta para enviárselo a los votantes.
|
||||
ExportSpreadsheet=Exportar resultados a una hoja de cálculo
|
||||
ExpireDate=Fecha límite
|
||||
NbOfVoters=Núm. de votantes
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Este nombre ya había sido usado para esta encuesta
|
||||
ErrorPollDoesNotExists=Error, la encuesta <strong>%s</strong> no existe.
|
||||
OpenSurveyNothingToSetup=No hay una configuración específica que hacer.
|
||||
PollWillExpire=Su encuesta expirará automáticamente <strong>%s</strong> días después de la última fecha de su encuesta.
|
||||
RemovalDate=Fecha de eliminación
|
||||
AddADate=Añadir una fecha
|
||||
AddStartHour=Añadir hora de inicio
|
||||
AddEndHour=Añadir hora de fin
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Ningún comentario ha sido publicado todavía para esta encuesta
|
||||
CanEditVotes=Puede cambiar el voto de otros
|
||||
SelectDayDesc=Para cada día seleccionado, puede elegir, o no, las horas de reunión en el siguiente formato:<br>- vacío,<br>- "8h", "8H" o "8:00" para proporcionar una hora de inicio de la reunión,<br>- "8-11", "8h-11h", "8H-11H" o "8:00-11:00" para proporcionar una hora de inicio y de fin de la reunión,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" para lo mismo pero con minutos.
|
||||
BackToCurrentMonth=Volver al mes actual
|
||||
PublicLinkToCreateSurvey=Enlace público que permite a cualquiera crear una encuesta
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Loo küsitlus
|
||||
PollTitle=Küsitluse pealkiri
|
||||
OpenSurveyYourName=Sinu nimi
|
||||
OpenSurveyYourEMail=Sinu e-posti aadress
|
||||
VotersCanModify=Hääletajad saavad teiste hääli muuta
|
||||
ToReceiveEMailForEachVote=Iga hääle kohta saadetakse e-kiri
|
||||
TypeDate=Liik: kuupäev
|
||||
TypeClassic=Liik: standardne
|
||||
YouAreInPollCreateArea=Oled küsitluse loomise sektsioonis
|
||||
FieldMandatory=Kohustuslik väli
|
||||
OpenSurveyDesc=Online teenus kohtumise planeerimiseks või kiiresti ja lihtsalt uuringu läbi viimiseks.
|
||||
OpenSurveyNoRegistration=Registreerimine pole nõutud.
|
||||
OpenSurveyStep2=Vali kuupäevad vabade päevade seas (rohelised). Valitud päevad on märgitud sinisega. Eelnevalt valitud päevalt saab valiku maha võtta sellel klõpsates
|
||||
RemoveAllDays=Eemalda kõik päevad
|
||||
CopyHoursOfFirstDay=Kopeeri esimese päeva tunnid
|
||||
@ -43,7 +39,6 @@ YesNoList=Nimekiri (tühi/jah/ei)
|
||||
PourContreList=Nimekiri (tühi/poolt/vastu)
|
||||
AddNewColumn=Lisa uus veerg
|
||||
TitleChoice=Valiku silt
|
||||
InfoAfterCreate=Pärast küsitluse loomise kinnitamist suunatakse Sind automaatselt küsitluse lehele.<br>Samuti peaks Sinuni jõudma e-kiri lingiga küsitlusele, et küsitlust teistele jagada.
|
||||
ExportSpreadsheet=Ekspordi tulemuste tabel
|
||||
ExpireDate=Piira kuupäevaga
|
||||
NbOfVoters=Hääletajaid
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Sellele küsitlusele vastamiseks on seda nime juba kasutat
|
||||
ErrorPollDoesNotExists=Viga: küsitlust nimega <strong>%s</strong> ei ole
|
||||
OpenSurveyNothingToSetup=Pole erilist seadistust, mida teha.
|
||||
PollWillExpire=Sinu küsitlus aegub automaatselt <strong>%s</strong> päeva pärast viimast vastust.
|
||||
RemovalDate=Kustutamise kuupäev
|
||||
AddADate=Lisa kuupäev
|
||||
AddStartHour=Lisa alustamise kellaaeg
|
||||
AddEndHour=Lisa lõpetamise kellaaeg
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Sellele küsitlusel ei ole veel ühtki kommentaari
|
||||
CanEditVotes=Saab teiste hääli muuta
|
||||
SelectDayDesc=Iga valitud päeva kohta võid, aga ei pea, lisada sobivaid kellaaegasid järgnevas formaadis::<br>- tühi,<br>- "8h", "8H" või "8:00" kohtumise alustamise kellaajaks,<br>- "8-11", "8h-11h", "8H-11H" või "8:00-11:00" kohtumise alustamise ja lõpu kellaajaks,<br>- "8h15-11h15", "8H15-11H15" või "8:15-11:15" on sama, mis eelmine, aga minutitega.
|
||||
BackToCurrentMonth=Tagasi praegusesse kuusse
|
||||
PublicLinkToCreateSurvey=Avalik link, mis võimaldab igaühel uuringut luua
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=الحد من التاريخ
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=الحد من التاريخ
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=الحد من التاريخ
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Raja-päivämäärä
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Raja-päivämäärä
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Raja-päivämäärä
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -18,7 +18,7 @@ BoxLastContracts=Derniers contrats
|
||||
BoxLastContacts=Derniers contacts/adresses
|
||||
BoxLastMembers=Derniers adhérents modifiés
|
||||
BoxFicheInter=Dernières fiches d'intervention modifiées
|
||||
BoxCurrentAccounts=Soldes des comptes courants
|
||||
BoxCurrentAccounts=Soldes des comptes ouverts
|
||||
BoxSalesTurnover=Chiffre d'affaires
|
||||
BoxTotalUnpaidCustomerBills=Total des factures clients impayées
|
||||
BoxTotalUnpaidSuppliersBills=Total des factures fournisseurs impayées
|
||||
@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Les %s derniers adhérents modifiés
|
||||
BoxTitleLastFicheInter=Les %s dernières fiches d'intervention modifiées
|
||||
BoxTitleOldestUnpaidCustomerBills=Les %s plus anciennes factures clients impayées
|
||||
BoxTitleOldestUnpaidSupplierBills=Les %s plus anciennes factures fournisseurs impayées
|
||||
BoxTitleCurrentAccounts=Les soldes des comptes courants
|
||||
BoxTitleCurrentAccounts=Les soldes des comptes ouverts
|
||||
BoxTitleSalesTurnover=Le chiffre d'affaires réalisé
|
||||
BoxTitleTotalUnpaidCustomerBills=Impayés clients
|
||||
BoxTitleTotalUnpaidSuppliersBills=Impayés fournisseurs
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Créer sondage
|
||||
PollTitle=Titre sondage
|
||||
OpenSurveyYourName=Votre nom
|
||||
OpenSurveyYourEMail=Votre adresse email
|
||||
VotersCanModify=Les votants peuvent modifier les votes des autres
|
||||
ToReceiveEMailForEachVote=Pour recevoir un email à chaque vote
|
||||
TypeDate=Type date
|
||||
TypeClassic=Type classique
|
||||
YouAreInPollCreateArea=Vous êtes dans l'espace de création de sondage
|
||||
FieldMandatory=Champ obligatoire
|
||||
OpenSurveyDesc=Service en ligne permettant de planifier un rendez-vous ou réaliser un sondage rapidement et simplement.
|
||||
OpenSurveyNoRegistration=Aucune inscription préalable n'est nécessaire.
|
||||
OpenSurveyStep2=Sélectionner les dates parmi les jours libres (en vert). Les jours sélectionné sont bleus. Vous pouvez désélectionner un jour en cliquant à nouveau dessus.
|
||||
RemoveAllDays=Efface tous les jours
|
||||
CopyHoursOfFirstDay=Copier heures du premier jour
|
||||
@ -43,7 +39,6 @@ YesNoList=Liste (vide/oui/non)
|
||||
PourContreList=Liste (vide/pour/contre)
|
||||
AddNewColumn=Ajouter nouvelle colonne
|
||||
TitleChoice=Libellé du choix
|
||||
InfoAfterCreate=Une fois la confirmation de la création de votre sondage réalisée, vous serez redirigé vers la page de vote du sondage.<br>Vous devriez de plus recevoir un email avec le lien de la page sondage pour diffusion auprès des votants.
|
||||
ExportSpreadsheet=Exporter feuille de résultats
|
||||
ExpireDate=Date expiration
|
||||
NbOfVoters=Nombre de votants
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Ce nom a déjà été utilisé pour ce vote
|
||||
ErrorPollDoesNotExists=Erreur, le sondage <strong>%s</strong> n'existe pas.
|
||||
OpenSurveyNothingToSetup=Aucune configuration particulière n'est requise.
|
||||
PollWillExpire=Ce sondage expirera automatiquement <strong>%s</strong> jours après la date de dernier choix.
|
||||
RemovalDate=Date de retrait
|
||||
AddADate=Ajouter une date
|
||||
AddStartHour=Ajouter heure de début
|
||||
AddEndHour=Ajouter heure de fin
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Pas de commentaires laissés pour le moment sur ce sondage
|
||||
CanEditVotes=Modification des votes des autres autorisés
|
||||
SelectDayDesc=Pour chaque jour, vous pouvez choisir, ou pas, les heures au format suivant :<br>- laisser vide,<br>- "8h", "8H" ou "8:00" pour définir uniquement une heure de début,<br>- "8-11", "8h-11h", "8H-11H" ou "8:00-11:00" pour définir une heure de début et de fin,<br>- "8h15-11h15", "8H15-11H15" ou "8:15-11:15" pour définir une heure de début et fin avec précision sur les minutes.
|
||||
BackToCurrentMonth=Retour au mois en cours
|
||||
PublicLinkToCreateSurvey=Lien publique pour permettre à tout le monde de créer un sondage
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
# ExpireDate=Limit date
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Dátum korlást
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Dátum korlást
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Dátum korlást
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Takmarka dagsetningu
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Takmarka dagsetningu
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Takmarka dagsetningu
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Crea sondaggio
|
||||
PollTitle=Titolo del sondaggio
|
||||
OpenSurveyYourName=Il tuo nome
|
||||
OpenSurveyYourEMail=Il tuo indirizzo email
|
||||
VotersCanModify=I votanti possono modificare il voto degli altri
|
||||
ToReceiveEMailForEachVote=Per ricevere un'email per ogni voto
|
||||
TypeDate=Digita data
|
||||
TypeClassic=Tipo standard
|
||||
YouAreInPollCreateArea=Sei nella sezione di creazione sondaggi
|
||||
FieldMandatory=Campo obbligatorio
|
||||
OpenSurveyDesc=Servizio online per pianificare incontri o fare indagini velocemente e con facilità.
|
||||
OpenSurveyNoRegistration=La registrazione non è necessaria
|
||||
OpenSurveyStep2=Scegli le date fra i giorni liberi (in verde). I giorni selezionati sono in blu. Puoi deselezionare un giorno precedentemente selezionato cliccandoci di nuovo sopra.
|
||||
RemoveAllDays=Cancella tutti i giorni
|
||||
CopyHoursOfFirstDay=Copia le ore del primo giorno
|
||||
@ -43,7 +39,6 @@ YesNoList=Lista (vuota/sì/no)
|
||||
PourContreList=Elenco (vuota/a favore/contro)
|
||||
AddNewColumn=Aggiungi una colonna
|
||||
TitleChoice=Scegli l'etichetta
|
||||
InfoAfterCreate=Una volta convalidata la creazione del sondaggio, sarai reindirizzato automaticamente alla pagina del sondaggio.<br>Dovresti anche ricevere una email con il link del sondaggio da mandare ai votanti.
|
||||
ExportSpreadsheet=Esporta su foglio elettronico
|
||||
ExpireDate=Data limite
|
||||
NbOfVoters=Num votanti
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Questo nome è già stato usato in questo sondaggio
|
||||
ErrorPollDoesNotExists=Errore, il sondaggio <strong>%s</strong>non esiste.
|
||||
OpenSurveyNothingToSetup=Non ci sono configurazioni da fare.
|
||||
PollWillExpire=Il sondaggio scadrà automaticamente<strong>%s</strong>giorni dopo la sua data finale.
|
||||
RemovalDate=Data di cancellazione
|
||||
AddADate=Aggiungi una data
|
||||
AddStartHour=Aggiungi un'ora di partenza
|
||||
AddEndHour=Aggiungi un'ora di fine
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Non è ancora stato inserito alcun commento su questo sondaggio
|
||||
CanEditVotes=Puoi cambiare il voto degli altri
|
||||
SelectDayDesc=Per ogni giorno selezionato, puoi scegliere o no, le ore di riunione nel formato seguente:<br>-vuoto,<br>-"8h", "8H" o "8:00"per definire un orario di inizio,<br>-"8-11", "8h-11h", "8H-11H" o "8:00-11:00" per fornire un orario di inizio e fine,<br>- "8h15-11h15", "8H15-11H15" o "8:15-11:15"la stessa cosa ma con i minuti.
|
||||
BackToCurrentMonth=Torna al mese in corso
|
||||
PublicLinkToCreateSurvey=Link pubblico per permettere a tutti di creare un'indagine
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=日付を制限する
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=日付を制限する
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=日付を制限する
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
# ExpireDate=Limit date
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Izveidot aptauju
|
||||
PollTitle=Aptauja virsraksts
|
||||
OpenSurveyYourName=Jūsu vārds
|
||||
OpenSurveyYourEMail=Jūsu e-pasta adrese
|
||||
VotersCanModify=Vēlētāji var mainīt balsojumu par citiem
|
||||
ToReceiveEMailForEachVote=Lai saņemtu e-pastu par katru balsojumu
|
||||
TypeDate=Tipa datums
|
||||
TypeClassic=Tipa standarts
|
||||
YouAreInPollCreateArea=Jūs esat pieres daļā radīšanas sadaļā
|
||||
FieldMandatory=Lauks obligāts
|
||||
OpenSurveyDesc=Tiešsaistes pakalpojumu, lai plānotu Rendez-vous vai veikt aptauju ātri un viegli.
|
||||
OpenSurveyNoRegistration=Nav nepieciešama reģistrācija.
|
||||
OpenSurveyStep2=Izvēlieties datumus amoung bezmaksas dienas (zaļā krāsā). Izvēlētās dienas ir zilā krāsā. Jūs varat noņemsiet dienu iepriekš izvēlēto noklikšķinot vēlreiz uz tā
|
||||
RemoveAllDays=Noņemt visas dienas
|
||||
CopyHoursOfFirstDay=Kopēt stundas pirmajā dienā
|
||||
@ -43,7 +39,6 @@ YesNoList=Saraksts (tukšs/jā/nē)
|
||||
PourContreList=Saraksts (tukšs/par/pret)
|
||||
AddNewColumn=Pievienot jaunu kolonnu
|
||||
TitleChoice=Izvēlies nosaukumu
|
||||
InfoAfterCreate=Kad esat apstiprinājuši izveidot savu aptauju, jums tiks automātiski novirzīts uz lapu jūsu aptaujā. <br> Jums vajadzētu saņemt arī e-pastu ar saiti uz jūsu aptauju, lai nosūtītu to uz vēlētājiem.
|
||||
ExportSpreadsheet=Eksporta rezultātu izklājlapu
|
||||
ExpireDate=Ierobežot datumu
|
||||
NbOfVoters=Balsotāju skaits
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Šis nosaukums jau tika izmantots šajā aptaujā
|
||||
ErrorPollDoesNotExists=Kļūda, aptauja <strong>%s</strong> neeksistē.
|
||||
OpenSurveyNothingToSetup=Nav īpašas uzstādīšanas darīt.
|
||||
PollWillExpire=Jūsu aptauja beigsies automātiski <strong>%s</strong> pēc pēdējās dienas, kad balsošanas datums beigsies.
|
||||
RemovalDate=Noņemšanas datums
|
||||
AddADate=Pievienot datumu
|
||||
AddStartHour=Pievienot sākuma stundu
|
||||
AddEndHour=Pievienot beigu stundu
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Nav komentāri ir ievietojis šajā aptaujā vēl
|
||||
CanEditVotes=Var mainīt balsojumu citiem
|
||||
SelectDayDesc=Attiecībā uz katru izvēlēto dienu, jūs varat izvēlēties, vai ne, tiekoties stundas šādā formātā: <br> - Tukša, <br> - "8h", "8H" vai "08:00", lai sniegtu tikšanos s starta stundu, <br> - "8-11", "8h-11h", "8H-11H" vai "8:00-11:00", lai sniegtu sanāksmi sākuma un beigu stundu, <br> - "8h15-11h15", "8H15-11H15" vai "8:15-11:15" par to pašu, bet ar minūtes.
|
||||
BackToCurrentMonth=Atpakaļ uz tekošā mēneša
|
||||
PublicLinkToCreateSurvey=Sabiedrības saites, lai ļautu ikvienam izveidot aptauju
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Limit date
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Limit date
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Limit date
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Termijn
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Termijn
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Termijn
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Limit daty
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Limit daty
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Limit daty
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Criar uma enquete
|
||||
PollTitle=Titulo enquete
|
||||
OpenSurveyYourName=Seu nome
|
||||
OpenSurveyYourEMail=Seu endereço e-mail
|
||||
VotersCanModify=Votantes podem modificar voto de outros
|
||||
ToReceiveEMailForEachVote=Para receber um e-mail por cada voto
|
||||
TypeDate=Tipo data
|
||||
TypeClassic=Tipo estandard
|
||||
YouAreInPollCreateArea=Voce esta na seçao de criaçao da enquete
|
||||
FieldMandatory=Campo obrigatorio
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
OpenSurveyNoRegistration=Nao e preciso se registrar.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
RemoveAllDays=Remover todos os dias
|
||||
CopyHoursOfFirstDay=Copiar horarios do primeiro dia
|
||||
@ -43,7 +39,6 @@ SelectedDays=Dias selecionados
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Data Límite
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Data Límite
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Data Límite
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ AddComment=Adicionar comentário
|
||||
# PollTitle=Poll title
|
||||
OpenSurveyYourName=O seu nome
|
||||
OpenSurveyYourEMail=O seu endereço de email
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
TypeDate=Tipo de data
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@ SelectedDays=Dias selecionados
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Data Limite
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ SurveyResults=Resultados
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ votes=Voto(s)
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Creaţi sondaj
|
||||
PollTitle=Titlu sondaj
|
||||
OpenSurveyYourName=Numele dvs.
|
||||
OpenSurveyYourEMail=Adresa dvs de email
|
||||
VotersCanModify=Votanţii pot modifica zotul celorlarţi
|
||||
ToReceiveEMailForEachVote=Primirea unui email pentru fiecare vot
|
||||
TypeDate=Tip dată
|
||||
TypeClassic=Tip standard
|
||||
YouAreInPollCreateArea=Sunteţi în secţiunea creare sondaj
|
||||
FieldMandatory=Câmp obligatoriu
|
||||
OpenSurveyDesc=Serviciul online pentru planificarea unei întâlniri sau de a face un sondaj rapid și ușor.
|
||||
OpenSurveyNoRegistration=Nu necesită înregistrare.
|
||||
OpenSurveyStep2=Selectati datele între zilele libere (verde). Zilele selectate sunt în albastru. Puteți deselecta o zi selectată anterior, făcând clic din nou pe ea
|
||||
RemoveAllDays=Elimină toate zilele
|
||||
CopyHoursOfFirstDay=Copiază orelele ale primei zile
|
||||
@ -43,7 +39,6 @@ YesNoList=Listă (goală/da/nu)
|
||||
PourContreList=Listă (goală/pentru/impotrivă)
|
||||
AddNewColumn=Adaugă coloană nouă
|
||||
TitleChoice=Etichetă Alegere
|
||||
InfoAfterCreate=După ce ați confirmat crearea de sondajului, veți fi redirecționat automat la pagina sondajului. <br> Ar trebui să primiţi, de asemenea, un e-mail cu link-ul sondajului pentru a trimite-l la votanţi.
|
||||
ExportSpreadsheet=Exportă rezultatul în foaie de calcul
|
||||
ExpireDate=Data limită
|
||||
NbOfVoters=Nr-ul voturilor
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Acest nume a fost deasemenea folosit pentru acest sondaj
|
||||
ErrorPollDoesNotExists=Eroare, sondajul <strong>%s</strong> nu există.
|
||||
OpenSurveyNothingToSetup=Nu există setări specifice de făcut.
|
||||
PollWillExpire=Sondajul dvs. va expira în mod automat în <strong>% s </ strong> zile de la ultima data a sondajului.
|
||||
RemovalDate=Data eliminare
|
||||
AddADate=Adaugă o dată
|
||||
AddStartHour=Adaugă o oră de start
|
||||
AddEndHour=Adaugă o oră de final
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Niciun comentariu nu a fost postat încă pentru acest sondaj
|
||||
CanEditVotes=Puteţi schimba votul altora
|
||||
SelectDayDesc=Pentru fiecare zi selectată, puteți alege, sau nu, orele întălnirii în următorul format: <br>- gol,<br>- "8h", "8H" or "8:00" pentru a da ora de start a întâlnirii, <br> - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" pentru a da startul și ora finală, <br> - ""8h15-11h15", "8H15-11H15" or "8:15-11:15" pentru același lucru, dar cu minute.
|
||||
BackToCurrentMonth=Înapoi la luna curentă
|
||||
PublicLinkToCreateSurvey=Link public pentru a permite oricărui să creeze un sondaj
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Дата лимита
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Дата лимита
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Дата лимита
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Vytvorenie ankety
|
||||
PollTitle=Anketa titul
|
||||
OpenSurveyYourName=Vaše meno
|
||||
OpenSurveyYourEMail=Vaša e-mailová adresa
|
||||
VotersCanModify=Voliči môžu zmeniť hlas ostatných
|
||||
ToReceiveEMailForEachVote=Ak chcete dostať e-mail pre každé hlasovanie
|
||||
TypeDate=Zadajte dátum
|
||||
TypeClassic=Typ štandardné
|
||||
YouAreInPollCreateArea=Nachádzate sa v sekcii pre vytvorenie hlasovanie
|
||||
FieldMandatory=Pole povinné
|
||||
OpenSurveyDesc=Online služby naplánovať rendez-vous alebo urobiť prieskum ľahko a rýchlo.
|
||||
OpenSurveyNoRegistration=Nie nutná registrácia.
|
||||
OpenSurveyStep2=Zvoľte termín Vášho amoung voľné dni (zelená). Vybrané dni sú v modrej farbe. Môžete zrušiť výber deň vopred zvolenú opätovným kliknutím na neho
|
||||
RemoveAllDays=Odstráňte všetky dni
|
||||
CopyHoursOfFirstDay=Kopírovanie hodín prvého dňa
|
||||
@ -43,7 +39,6 @@ YesNoList=List (prázdny / áno / nie)
|
||||
PourContreList=List (prázdny / pre / proti)
|
||||
AddNewColumn=Pridať nový stĺpec
|
||||
TitleChoice=Voľba štítok
|
||||
InfoAfterCreate=Potom, čo ste potvrdili vytvorenie vášho hlasovania, budete automaticky presmerovaní na stránku vášho hlasovania. <br> Tiež by ste mali dostať e-mail s odkazom na vaše hlasovanie pre odoslanie do voličov.
|
||||
ExportSpreadsheet=Export výsledkov tabuľku
|
||||
ExpireDate=Obmedziť dátum
|
||||
NbOfVoters=Nb voličov
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Tento názov už bol použitý pri tomto hlasovaní
|
||||
ErrorPollDoesNotExists=Chyba hlasovania <strong>%s</strong> neexistuje.
|
||||
OpenSurveyNothingToSetup=Neexistuje žiadne špecifické nastavenia robiť.
|
||||
PollWillExpire=Váš prieskum skončí automaticky <strong>%s</strong> dní po poslednom dni svojho hlasovania.
|
||||
RemovalDate=Odstránenie dáta
|
||||
AddADate=Pridať dátum
|
||||
AddStartHour=Pridať začať hodinu
|
||||
AddEndHour=Pridať end hodinu
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Žiadne komentáre boli zverejnené na túto anketu ešte
|
||||
CanEditVotes=Môže zmeniť hlas ostatných
|
||||
SelectDayDesc=Pre každý vybraný deň, môžete si vybrať, či sa majú splniť hodín v nasledujúcom formáte: <br> - Prázdne, <br> - "8h", "8H" alebo "8:00" dať schôdzku v úvodnej hodinu, <br> - "8-11", "8h-11h", "8H-11H" alebo "08:00-11:00" dať schôdzku je začiatok a koniec hodiny, <br> - "8h15-11h15", "8H15-11h15" alebo "08:15-11:15" to isté, ale v minútach.
|
||||
BackToCurrentMonth=Späť na aktuálny mesiac
|
||||
PublicLinkToCreateSurvey=Verejné odkaz dovoliť každý vytvoriť prieskum
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Omejitveni datum
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Omejitveni datum
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Omejitveni datum
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
ExpireDate=Begränsa datum
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@ ExpireDate=Begränsa datum
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@ ExpireDate=Begränsa datum
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
@ -11,14 +11,10 @@ CreatePoll=Anket oluştur
|
||||
PollTitle=Anket başlığı
|
||||
OpenSurveyYourName=Adınız
|
||||
OpenSurveyYourEMail=Eposta adresiniz
|
||||
VotersCanModify=Oy kullananlar başkalarının oylarını değiştirebilir
|
||||
ToReceiveEMailForEachVote=Her oy için bir eposta almak için
|
||||
TypeDate=Tarih türü
|
||||
TypeClassic=Standart tür
|
||||
YouAreInPollCreateArea=Anket oluşturma bölümündesiniz
|
||||
FieldMandatory=Zorunlu alan
|
||||
OpenSurveyDesc=Bir randevu planlamak ya da hızlıca ve kolayca bir araştırma yapmak için çevrimiçi servis.
|
||||
OpenSurveyNoRegistration=Kayıt gerekmez.
|
||||
OpenSurveyStep2=Boş günler arasından tarihlerinizi seçin (yeşil). Seçilen günler mavidir. Daha önceden seçtiğiniz günü tıklayarak seçimi kaldırabilirsiniz
|
||||
RemoveAllDays=Bütün günleri kaldır
|
||||
CopyHoursOfFirstDay=İlk günün saatlerini kopyala
|
||||
@ -43,7 +39,6 @@ YesNoList=Liste (boş/evet/hayır)
|
||||
PourContreList=Liste (boş, uygun/karşı)
|
||||
AddNewColumn=Yeni sütun ekle
|
||||
TitleChoice=Seçim etiketi
|
||||
InfoAfterCreate=Anketinizin oluşturulmasını onayladığınızda, otomatik olarak anket sayfanıza yönlendirileceksiniz.<br>Oylayıcılara göndermek üzere anketinizin bağlantısı olan bir eposta da alacaksınız.
|
||||
ExportSpreadsheet=Sonuçları hesap tablosuna aktar
|
||||
ExpireDate=Sınır tarihi
|
||||
NbOfVoters=Oylayıcı sayısı
|
||||
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Bu isim bu anket için zaten kullanılmış
|
||||
ErrorPollDoesNotExists=Hata, anket <strong>%s</strong> mevcut değil.
|
||||
OpenSurveyNothingToSetup=Yapılacak özel ayar yok.
|
||||
PollWillExpire=Anketiniz, son tarihinden <strong>%s</strong> gün sonra kendiliğinden sona erecektir.
|
||||
RemovalDate=Kaldırılma tarihi
|
||||
AddADate=Bir tarih ekle
|
||||
AddStartHour=Başlangıç saati ekle
|
||||
AddEndHour=Bitiş saati ekle
|
||||
@ -66,4 +60,3 @@ NoCommentYet=Bu anket için henüz gönderilen açıklama yok
|
||||
CanEditVotes=Başkalarını oyu değiştirilebilir
|
||||
SelectDayDesc=Seçilen her gün için, toplantı saatlerini aşağıdaki biçimde seçebilir ya da seçmeyebilirsiniz :<br>- boş,<br>- "8h", "8H" or "8:00" toplantı başlama saatleri için,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" ttoplantı başlama ve bitiş saatleri için,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" aynı şeyler için ama dakika olarak.
|
||||
BackToCurrentMonth=Geçerli aya geri dön
|
||||
PublicLinkToCreateSurvey=Herkesin bir araştırma oluşturmasını sağlayan genel bağlantı
|
||||
|
||||
@ -11,14 +11,10 @@
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
# TypeClassic=Type standard
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@ -43,7 +39,6 @@
|
||||
# PourContreList=List (empty/for/against)
|
||||
# AddNewColumn=Add new column
|
||||
# TitleChoice=Choice label
|
||||
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
|
||||
# ExportSpreadsheet=Export result spreadsheet
|
||||
# ExpireDate=Limit date
|
||||
# NbOfVoters=Nb of voters
|
||||
@ -57,7 +52,6 @@
|
||||
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
|
||||
# OpenSurveyNothingToSetup=There is no specific setup to do.
|
||||
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
|
||||
# RemovalDate=Removal date
|
||||
# AddADate=Add a date
|
||||
# AddStartHour=Add start hour
|
||||
# AddEndHour=Add end hour
|
||||
@ -66,4 +60,3 @@
|
||||
# CanEditVotes=Can change vote of others
|
||||
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
|
||||
# BackToCurrentMonth=Back to current month
|
||||
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user