Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
0c9e984bb1
222
ChangeLog
222
ChangeLog
@ -11,31 +11,209 @@ make a Dolibarr upgrade.
|
||||
|
||||
***** ChangeLog for 3.8 compared to 3.7.* *****
|
||||
For users:
|
||||
- New: Add Option to not change date on cloning project
|
||||
- New: Add check list from table for extrafield type
|
||||
- New: Use new combobox.
|
||||
- New: Add hidden option MAXTABS_IN_CARD.
|
||||
- New: A default label is suggested for stock correction and transfer instead of empty string.
|
||||
- Fix / Improve : [ bug #1747 ] Remove creation of batch 'Undefined'
|
||||
- Add Weighted average price as default price for buying price for margin calculation. Add option
|
||||
MARGIN_PMP_AS_DEFAULT_BUY_PRICE to replace with first supplier price.
|
||||
- Introduce option MAIN_HTML_TITLE to start to control format of html title content.
|
||||
- Add extrafields on bank account cards.
|
||||
- Added delay between mails in Newsletter module.
|
||||
- [ task #1793 ] Create new permission to restrict commercial agent margin to logged user.
|
||||
- Add experimental module ask supplier price to request supplier quotation.
|
||||
- Add experimental module batch management.
|
||||
- Fix: Corrected user timezone detection
|
||||
FIX: #2519
|
||||
FIX: #2758 Product::update sets product note to "null" when $prod->note is null
|
||||
FIX: #2832: Fixed a problem with special characters in expense report PDF model
|
||||
FIX: #2856 : Wrong table design
|
||||
FIX: #2901
|
||||
FIX: #2957 : missing $langs object for trigger
|
||||
FIX: #2983 Load gravatar avatar images securely over HTTPS
|
||||
FIX: #2987: removed dead function moneyMeter()
|
||||
FIX: #3009: Better filtering to prevent SQL injection
|
||||
FIX: #3009: Better filtering to prevent SQL injection
|
||||
FIX: #3091 TotalHT amount in supplier order is bold unlike the rest of Dolibarr
|
||||
FIX: #3138 - Too much visible thing when access is denied on public pages
|
||||
FIX: #3173 Overlapping of shipment ref
|
||||
FIX: Adding 5 more choice link into survey module was not working with chrome
|
||||
FIX: bad calculation for stock value
|
||||
FIX: Bad link to login page into email for password renewal.
|
||||
FIX: Bad logo for status "Do not contact" of thirdparty.
|
||||
FIX: Bad variable usage
|
||||
FIX: Better management error into the color conversion functions
|
||||
FIX: [bug #1883] missing field in SQL installation
|
||||
FIX: Bug on order and supplier invoice numeration mask when use supplier code
|
||||
FIX: Bug on order and supplier invoice numeration mask when use supplier code
|
||||
FIX: button create payment hide if tax amount is less than 1
|
||||
FIX: can receive new batch product on supplier order
|
||||
FIX: can show print page after product save
|
||||
FIX: Close #2835 Customer prices of a product shows incorrect history order
|
||||
FIX: Close #2837 Product list table column header does not match column body
|
||||
FIX: Close bug #2855 Wrong translation key in localtax report page
|
||||
FIX: Close bug #2861 Undefined variable $res when migrating from 3.6.2 to 3.7.0
|
||||
FIX: Close bug #2891 Category hooks do not work
|
||||
FIX: Close bug #2900 Courtesy title is not stored in create thirdparty form
|
||||
FIX: Close bug #2976: "Report" tab is the current tab but it is not marked as selected by the UI
|
||||
FIX: Correct migration script
|
||||
FIX: create contact with extrafiel is null when it is require
|
||||
FIX: Description of contract line was not visible.
|
||||
FIX: Correct path of loan class
|
||||
FIX: Correct problem field with note - Add note_private & use wysiwyg editor
|
||||
FIX: Edit in place of "Outstanding Limit"
|
||||
FIX: Module Expense Report - Correct init
|
||||
FIX: Update licence to GPLv3
|
||||
FIX: End log must use same level then start log.
|
||||
FIX: event for restricted user was restricted if company null
|
||||
FIX: event not linked to contact on creation
|
||||
FIX: Export of tags for contact and member
|
||||
FIX: extrafields required on thirdparty
|
||||
FIX: Force ref
|
||||
FIX: Function expects an int, not a boolean
|
||||
FIX: Function was expecting a boolean not a string
|
||||
FIX: hide category if it's not enable
|
||||
FIX: If supplier invoice block linked element is display after other block total HT amount is not reset to 0 and sum other block (like customer orders values)
|
||||
FIX: jdate returning -62169955200 on x64 machine
|
||||
FIX: Let ability to use IDPROF verifications even if new entry is "private"
|
||||
FIX: migration error
|
||||
FIX: moved built-in bug report system to GitHub Issues
|
||||
FIX: Moved code to where the variable is defined
|
||||
FIX: No check warehouse is provided if module stock is not enabled.
|
||||
FIX: Payed invoices are showed as canceled FIX: Bad date filter on customer order
|
||||
FIX: Ref/label of product on contract line was not visible, nor into page, nor into PDF.
|
||||
FIX: Removed concatenation on undeclared variable
|
||||
FIX: remove deprecated property 'libelle' on product object
|
||||
FIX: Removed HTML file preventing PHP service
|
||||
FIX: Removed undeclared variable
|
||||
FIX: Removed undeclared variables
|
||||
FIX: Removed unused variable
|
||||
FIX: Replaced deprecated call
|
||||
FIX: Replaced deprecated property
|
||||
FIX: Save of filters into export profiles failed.
|
||||
FIX: "script" balise with wrong syntax
|
||||
FIX: send mail, copy sendto don't read the list of contact
|
||||
FIX: top links menu have target attribute with wrong value
|
||||
FIX: total amount in tpl linked object are not reset
|
||||
FIX: Typo
|
||||
FIX; Unknown field 'sc.fk_soc' in field list
|
||||
FIX: update usergroup name
|
||||
FIX: Variable declared boolean
|
||||
FIX: Variable might not be traversable
|
||||
FIX: We did a test on a permission to export contract when permission did not exists.
|
||||
FIX: when mailing is deleted, the targets list was kept in database
|
||||
FIX: when multicompany was enabled, this function didn't check just on the good entity (problem when both company use same mask)
|
||||
FIX: When we automatically creta an order from a proposal with workflow module, if some extrafields of propal don't exist in order object, insertExtraFields() function tries to insert extrafields in unexistant column of commande_extrafields table.
|
||||
FIX: When we clone a propal, if it has a project which is not assigned to a third, it was not on new propal because fk_project was always set to empty string if new propal is for another third.
|
||||
FIX: when we create an agenda event with "Not applicable" status, it is automatically saved with "To do" status
|
||||
FIX: width multiselect
|
||||
FIX: Wrong type hinting
|
||||
FIX: XSS security using the onerror and missing escapement on type of member page.
|
||||
FIX: Missing visibility of static property
|
||||
NEW: Add a button to purge criteria in user list
|
||||
NEW: add all assigned users and all extrafields data in new event when we createFromClone
|
||||
NEW: Add a new component to select categories/tags from the main edit page of product. The dedicated tab is also removed.
|
||||
NEW: add an explorer for REST API consultation & documentation
|
||||
NEW: Add a search field and report on hrm area
|
||||
NEW: Add a tab document in donation card
|
||||
NEW: Add bank account owner in invoice/proposal/orders footer
|
||||
NEW: Add button to purge search criteria into list
|
||||
NEW: Add close date and user for projects.
|
||||
NEW: Add company information into category contact export
|
||||
NEW: Add current salary on list of payment
|
||||
NEW: add date value filter on account records list
|
||||
NEW: Add exemple of setup for multitail to render dolibarr log files
|
||||
NEW: Add filter on status on invoice list
|
||||
NEW: Add filter on task ref and task label into list of tasks
|
||||
NEW: Add filter on user contact or user task into task list
|
||||
NEW: Add function dolCopyDir to copy directory with recursive content.
|
||||
NEW: Add gender property managed on user card FIX: Better error messages when uploading photo of user when permission to write are not granted
|
||||
NEW: Add help tooltips on fields of dictionary edit pages. Fix: visible list of tasks are for opened project only.
|
||||
NEW: Add hidden option MAIN_MAILFORM_DISABLE_ENTERKEY to disable the key enter into the form to send email.
|
||||
NEW: add hook in send mail
|
||||
NEW: Add hooks on list of members to allow an external module to add more fields into list view.
|
||||
NEW: Add hooks to allow an external module to complete list of events into calendar views.
|
||||
NEW: Add opportunity amount on project card.
|
||||
NEW: Add option THEME_ELDY_DISABLE_IMAGE to disable images into menu eldy.
|
||||
NEW: add PDF icon on linked element into project
|
||||
NEW: add "productpricecard" hook and uniformize code
|
||||
NEW: Add ref and label of project into export
|
||||
NEW: add restler framework First step to build REST API into Dolibarr
|
||||
NEW: Add search box for supplier order search.
|
||||
NEW: Add status into filters of graph
|
||||
NEW: Add tab document on salaries payment
|
||||
NEW: A link to the bugtracker can be enabled in the GUI
|
||||
NEW: A module can add its entries into cron module.
|
||||
NEW: autofocus on product selection dropdown list or search field
|
||||
NEW: Backup and restore tool is easier to use
|
||||
NEW: Can add all user of a project as user of a task, in one step.
|
||||
NEW: Can add project search on left menu search area
|
||||
NEW: Can assign a task to yourself to have it appear on timesheet
|
||||
NEW: Can close a project that has draft status with no need to switch it to validate status before.
|
||||
NEW: Can edit Background color for Top menu and Background color for table title line (works only with theme menu eldy).
|
||||
NEW: Can edit email template using WYSIWYG editor
|
||||
NEW: Can edit internal label of invoice even when closed (this is a private information)
|
||||
NEW: Can edit list of prospect status for customers/prospects. Add a new entry into dictionary table to manage list fo status. Removed deprecated files.
|
||||
NEW: Can filter on contact status in prospect list. Removed deprecated menu entry.
|
||||
NEW: Can filter proposal on a tag of a product Enhance also the prototype test_arrays to include select form before table.
|
||||
NEW: Can filter proposal, orders or invoices with criteria "contain at least one product with following tag"
|
||||
NEW: Can install an external module from admin pages, if web server has permission for and if setup is ok for.
|
||||
NEW: Can search on customer order amount into customer order list.
|
||||
NEW: Can upload files on leave requests. Use more standard permissions.
|
||||
NEW: Can use a "|" to make a OR search on several different criterias into text filters of tables.
|
||||
NEW: Clean code into salary module, debug and add indexes NEW: Can filter on user list and salary payments on user with naural search.
|
||||
NEW: clone action on agenda events
|
||||
NEW: dev feature : replace conf filename with "conf" parameter on url by GET
|
||||
NEW: display linked object in edit mode when we create an event from an order, propal...
|
||||
NEW: Enhancement of module 'Notification by Email'. Show nb of notifications set. Can set several emails. Can set a threshold on amount for notifications. Add notification on supplier order validation.
|
||||
NEW: Enhance prototype, project list and proposal list with new hook to have an external module able to add more fields.
|
||||
NEW: Enhance the natural_search function so we can use it to search numeric fields with criteria with operator <>= inside (< 100, >= 1000)
|
||||
NEW: Enter amount for withdraws requests
|
||||
NEW: Feature request: A page to merge two thirdparties into one #2613
|
||||
NEW: Feature to build a merged pdf with all unpaid invoice can work for paid invoices.
|
||||
NEW: Filter "active" by default on user list. Fix label of permission of project module
|
||||
NEW: For a contract line, price is no more mandatory.
|
||||
NEW: Forms are using the tab look, even in creation mode.
|
||||
NEW: Hidden option THEME_ELDY_USE_HOVER is stable enough to become officialy visible into setup.
|
||||
NEW: If module salaries is on, you can set a hourly value for tome consumed by users. Each time a user enter its time consumed on a project, a calculation is done to provide the cost for human services. This value appears into the "Transversal view" of project.
|
||||
NEW: Implement option SUPPLIER_ORDER_USE_DISPATCH_STATUS to add a status into each dispathing line of supplier order to "verify" a reception is ok. Status of order can be set to "total/done" only if line is verified.
|
||||
NEW: Into the overview of projects, the name of thirdparty appears into combo lists of elements to link to project.
|
||||
NEW: Introduce function dolGetFirstLineOfText
|
||||
NEW: Introduce option SUPPLIER_ORDER_DOUBLE_APPROVAL to allow 2 approvals to make a supplier order approved. Activating this option introduce a new permission to the second level approval.
|
||||
NEW: Introduce TCPDI as replacement of FPDI.
|
||||
NEW: List of recent modified supplier product prices in Supplier card
|
||||
NEW: Module notification should details of emails into confirm box, not only number.
|
||||
NEW: On page to see/edit contact of an ojbect, the status of contact is visible (for both external and internal users).
|
||||
NEW: Product stock and subproduct stock are independant
|
||||
NEW: Propal merge product card PDF into azur
|
||||
NEW: Rename install etape to step
|
||||
NEW: Replace category edition page on members with new select2 component.
|
||||
NEW: script to build API class from existing class
|
||||
NEW: Show difference between timespent by everybody and time spent by user making timesheet into timesheet pages. NEW: Can enter start hours of task when creating timesheet
|
||||
NEW: Show last official stable version into system - update page.
|
||||
NEW: Show photo of logged user into login top right block. NEW: If no photo is available for user, we show a generic photo depending on gender
|
||||
NEW: [T1758] Merge bank card & account card
|
||||
NEW: [ task 1191 ] AJAX selector for projects
|
||||
NEW: [ task #851 ] Add a new field: Commercial name
|
||||
NEW: [ task #977 ] New option to manage product unit Migrated code from GPCSolutions/dolibarr:3.2-units branch and adapted for 3.8 with some improvements
|
||||
NEW: The line where mouse is over can be highlight with option THEME_ELDY_USE_HOVER (on by default)
|
||||
NEW: The notification module accept keyword __SUPERVISOR__ to send notification to supervisor of user.
|
||||
NEW: Thumbs for statistics on main page are fully clicable (not only link inside the thumb)
|
||||
NEW: Title of page project contains project ref and label
|
||||
NEW: update skeleton and class builder
|
||||
NEW: Use new select2 component for juridical status, country and state selection.
|
||||
NEW: Web service to create or update product can correct stock during creation/update.
|
||||
NEW: When creating order, proposal or invoice from thirdparty card, the project is asked during creation. A link to create project if it does not exists is also available. NEW: Uniformize form creation of proposal to add public and private notes during creation like done for order and invoice.
|
||||
NEW: When using transfer or correct stock from warehouse, after recording we go back to the warehouse page.
|
||||
NEW: Add Option to not change date on cloning project
|
||||
NEW: Add check list from table for extrafield type
|
||||
NEW: Use new combobox.
|
||||
NEW: Add hidden option MAXTABS_IN_CARD.
|
||||
NEW: A default label is suggested for stock correction and transfer instead of empty string.
|
||||
NEW: Add Weighted average price as default price for buying price for margin calculation. Add option MARGIN_PMP_AS_DEFAULT_BUY_PRICE to replace with first supplier price.
|
||||
NEW: Introduce option MAIN_HTML_TITLE to start to control format of html title content.
|
||||
NEW: Add extrafields on bank account cards.
|
||||
NEW: Added delay between mails in Newsletter module.
|
||||
NEW: [ task #1793 ] Create new permission to restrict commercial agent margin to logged user.
|
||||
NEW: Add experimental module ask supplier price to request supplier quotation.
|
||||
NEW: Add module batch management.
|
||||
|
||||
For translators:
|
||||
- Update language files.
|
||||
- New: When a translation is not available we always jump to en_US and only en_US.
|
||||
NEW: Update language files.
|
||||
NEW: When a translation is not available we always jump to en_US and only en_US.
|
||||
|
||||
For developers:
|
||||
- New: Function yn can show a visual checkbox.
|
||||
- New: Introduced select2 jquery plugin.
|
||||
- New: Possibility to add javascript in main login page with "getLoginPageOptions" hook
|
||||
- New: possibility to defined a tab for all entities in module descriptor
|
||||
NEW: Function yn can show a visual checkbox.
|
||||
NEW: Introduced select2 jquery plugin.
|
||||
NEW: Possibility to add javascript in main login page with "getLoginPageOptions" hook
|
||||
NEW: possibility to defined a tab for all entities in module descriptor
|
||||
|
||||
WARNING: Following changes may create regression for some external modules, but was necessary to make
|
||||
Dolibarr better:
|
||||
@ -48,6 +226,8 @@ Dolibarr better:
|
||||
- The trigger USER_LOGIN* are deprecated. They are still working but you should prefer use the
|
||||
hook afterLogin or afterLoginFailed instead.
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.7.2 compared to 3.7.1 *****
|
||||
FIX [ bug #2855 ] Wrong translation key in localtax report page
|
||||
FIX [ bug #1852 ] JS error when editing a customer order line
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
dolibarr (3.8.0-3) UNRELEASED; urgency=low
|
||||
dolibarr (__VERSION__) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
@ -64,6 +64,13 @@ $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/;
|
||||
|
||||
$SOURCE="$DIR/..";
|
||||
$DESTI="$SOURCE/build";
|
||||
if ($SOURCE !~ /^\//)
|
||||
{
|
||||
print "Error: Launch the script $PROG.$Extension with its full path from /.\n";
|
||||
print "$PROG.$Extension aborted.\n";
|
||||
sleep 2;
|
||||
exit 1;
|
||||
}
|
||||
if (! $ENV{"DESTIBETARC"} || ! $ENV{"DESTISTABLE"})
|
||||
{
|
||||
print "Error: Missing environment variables.\n";
|
||||
@ -337,8 +344,8 @@ foreach my $target (sort keys %CHOOSEDPUBLISH) {
|
||||
|
||||
if ($nboftargetok) {
|
||||
|
||||
# Update CVS if required
|
||||
#-----------------------
|
||||
# Update GIT tag if required
|
||||
#---------------------------
|
||||
if ($nbofpublishneedtag)
|
||||
{
|
||||
print "Go to directory $SOURCE\n";
|
||||
@ -683,7 +690,7 @@ if ($nboftargetok) {
|
||||
use Date::Language;
|
||||
$lang=Date::Language->new('English');
|
||||
$datestring = $lang->time2str("%a %b %e %Y", time);
|
||||
$changelogstring="* ".$datestring." Laurent Destailleur $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n";
|
||||
$changelogstring="* ".$datestring." Laurent Destailleur (eldy) $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n";
|
||||
|
||||
print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n";
|
||||
open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error";
|
||||
@ -715,7 +722,7 @@ if ($nboftargetok) {
|
||||
$ret=`$cmd`;
|
||||
print "Move $RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz into $NEWDESTI/".$FILENAMETGZ2.".tgz\n";
|
||||
$cmd="mv \"$RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz\" \"$NEWDESTI/".$FILENAMETGZ2.".tgz\"";
|
||||
$ret=`$cmd`;
|
||||
#$ret=`$cmd`;
|
||||
next;
|
||||
}
|
||||
|
||||
@ -805,8 +812,17 @@ if ($nboftargetok) {
|
||||
print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n";
|
||||
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
print "Copy $SOURCE/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n";
|
||||
# Add files for dpkg-source (changelog)
|
||||
#$ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
open (SPECFROM,"<$SOURCE/build/debian/changelog") || die "Error";
|
||||
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/debian/changelog") || die "Error";
|
||||
while (<SPECFROM>) {
|
||||
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/;
|
||||
print SPECTO $_;
|
||||
}
|
||||
close SPECFROM;
|
||||
close SPECTO;
|
||||
# Add files for dpkg-source
|
||||
$ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
|
||||
@ -8,11 +8,11 @@ This files describe steps made by Dolibarr packaging team to make a
|
||||
beta version of Dolibarr, step by step.
|
||||
|
||||
- Check all files are commited.
|
||||
- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base (x.y)-1 origin/develop`..x.y(.z) --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'"
|
||||
- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base 3.7.0 origin/develop`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
- Update version number with x.y.z-w in htdocs/filefunc.inc.php
|
||||
- Update version number with x.y.z-w in build/debian/changelog
|
||||
- Commit all changes.
|
||||
- Add a Tag (x.y.betaz_YYYYMMDD) and push it: git push --tags
|
||||
- Add a Tag (x.y.z-beta) and push it: git push --tags
|
||||
- Create a branch (x.y).
|
||||
|
||||
- Run makepack-dolibarr.pl to generate all packages.
|
||||
@ -29,7 +29,7 @@ This files describe steps made by Dolibarr packaging team to make a
|
||||
complete release of Dolibarr, step by step.
|
||||
|
||||
- Check all files are commited.
|
||||
- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base (x.y)-1 origin/develop`..x.y(.z) --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'"
|
||||
- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base 3.7.0 origin/develop`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
- Update version number with x.y.z in htdocs/filefunc.inc.php
|
||||
- Update version number with x.y.z in build/debian/changelog
|
||||
- Commit all changes.
|
||||
|
||||
@ -159,6 +159,7 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/accountancy
|
||||
%_datadir/dolibarr/htdocs/adherents
|
||||
%_datadir/dolibarr/htdocs/admin
|
||||
%_datadir/dolibarr/htdocs/api
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
|
||||
@ -239,6 +239,7 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/accountancy
|
||||
%_datadir/dolibarr/htdocs/adherents
|
||||
%_datadir/dolibarr/htdocs/admin
|
||||
%_datadir/dolibarr/htdocs/api
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
|
||||
@ -156,6 +156,7 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/accountancy
|
||||
%_datadir/dolibarr/htdocs/adherents
|
||||
%_datadir/dolibarr/htdocs/admin
|
||||
%_datadir/dolibarr/htdocs/api
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
|
||||
@ -167,6 +167,7 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/accountancy
|
||||
%_datadir/dolibarr/htdocs/adherents
|
||||
%_datadir/dolibarr/htdocs/admin
|
||||
%_datadir/dolibarr/htdocs/api
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
|
||||
@ -6,7 +6,7 @@ PROGNAME=${0##*/}
|
||||
INPUT=''
|
||||
QUIET='0'
|
||||
NOSTATS='0'
|
||||
INPLACE='0'
|
||||
INPLACE='0' # (1=Images are replaced, 0=New images are stored into $OUTPUT)
|
||||
max_input_size=0
|
||||
max_output_size=0
|
||||
|
||||
|
||||
@ -944,7 +944,7 @@ if ($rowid > 0)
|
||||
$datefrom=$object->datevalid;
|
||||
}
|
||||
}
|
||||
$form->select_date($datefrom,'','','','',"cotisation",1,1);
|
||||
print $form->select_date($datefrom,'','','','',"cotisation",1,1,1);
|
||||
print "</td></tr>";
|
||||
|
||||
// Date end subscription
|
||||
@ -957,7 +957,7 @@ if ($rowid > 0)
|
||||
$dateto=-1; // By default, no date is suggested
|
||||
}
|
||||
print '<tr><td>'.$langs->trans("DateEndSubscription").'</td><td>';
|
||||
$form->select_date($dateto,'end','','','',"cotisation");
|
||||
print $form->select_date($dateto,'end','','','',"cotisation",1,0,1);
|
||||
print "</td></tr>";
|
||||
|
||||
if ($adht->cotisation)
|
||||
@ -1058,7 +1058,7 @@ if ($rowid > 0)
|
||||
|
||||
// Date of payment
|
||||
print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("DatePayment").'</td><td>';
|
||||
$form->select_date(isset($paymentdate)?$paymentdate:-1,'payment',0,0,1,'cotisation',1,1);
|
||||
print $form->select_date(isset($paymentdate)?$paymentdate:-1,'payment',0,0,1,'cotisation',1,1,1);
|
||||
print "</td></tr>\n";
|
||||
|
||||
print '<tr class="bankswitchclass2"><td>'.$langs->trans('Numero');
|
||||
|
||||
@ -229,8 +229,9 @@ $sql.= ", note";
|
||||
$sql.= ", entity";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."const";
|
||||
$sql.= " WHERE entity IN (".$user->entity.",".$conf->entity.")";
|
||||
if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin
|
||||
else $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits
|
||||
if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug
|
||||
else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits
|
||||
if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name'));
|
||||
$sql.= " ORDER BY entity, name ASC";
|
||||
|
||||
dol_syslog("Const::listConstant", LOG_DEBUG);
|
||||
|
||||
@ -206,8 +206,8 @@ $langs->load("cashdesk");
|
||||
<td>
|
||||
<input class="button bouton_mode_reglement" type="submit" name="btnModeReglement" value="<?php echo $langs->trans("Reported"); ?>" onclick="javascript: verifClic('DIF');" />
|
||||
<?php
|
||||
echo $langs->trans("DateEcheance").' :';
|
||||
print $form->select_date(-1,'txtDatePaiement');
|
||||
print $langs->trans("DateEcheance").' :';
|
||||
print $form->select_date(-1,'txtDatePaiement',0,0,0,'paymentmode',1,0,1);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1372,7 +1372,6 @@ if ($action == 'create' && $user->rights->commande->creer)
|
||||
}
|
||||
// Date
|
||||
print '<tr><td class="fieldrequired">' . $langs->trans('Date') . '</td><td colspan="2">';
|
||||
//$form->select_date($dateorder, 're', '', '', '', "crea_commande", 1, 1);
|
||||
$form->select_date('', 're', '', '', '', "crea_commande", 1, 1); // Always autofill date with current date
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
@ -262,7 +262,7 @@ if ($action == 'create')
|
||||
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("Date").'</td><td>';
|
||||
print $form->select_date($datec?$datec:-1,'','','','','add',1,1);
|
||||
print $form->select_date($datec?$datec:-1,'','','','','add',1,1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Km
|
||||
@ -358,7 +358,7 @@ else if ($id)
|
||||
|
||||
// Date
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Date").'</td><td>';
|
||||
print $form->select_date($object->date,'','','','','update');
|
||||
print $form->select_date($object->date,'',0,0,0,'update',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Km
|
||||
@ -433,7 +433,7 @@ else if ($id)
|
||||
print '</td></tr>';
|
||||
|
||||
$form->load_cache_types_fees();
|
||||
|
||||
|
||||
// Type
|
||||
print '<tr><td>';
|
||||
print $form->editfieldkey("Type",'type',$langs->trans($object->type),$object,$conf->global->MAIN_EDIT_ALSO_INLINE && $user->rights->deplacement->creer,'select:types_fees');
|
||||
|
||||
@ -2273,7 +2273,7 @@ if ($action == 'create')
|
||||
// Date invoice
|
||||
print '<tr><td class="fieldrequired">' . $langs->trans('Date') . '</td><td colspan="2">';
|
||||
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
|
||||
$form->select_date($datefacture?$datefacture:$dateinvoice, '', '', '', '', "add", 1, 1);
|
||||
print $form->select_date($datefacture?$datefacture:$dateinvoice, '', '', '', '', "add", 1, 1, 1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Payment term
|
||||
@ -2457,12 +2457,12 @@ if ($action == 'create')
|
||||
print '<td class="nobordernopadding nowrap">';
|
||||
print $langs->trans('From') . ' ';
|
||||
print '</td><td class="nobordernopadding nowrap">';
|
||||
print $form->select_date('', 'date_start' . $i, $usehm, $usehm, 1, "add");
|
||||
print $form->select_date('', 'date_start' . $i, $usehm, $usehm, 1, "add", 1, 0, 1);
|
||||
print '</td></tr>';
|
||||
print '<td class="nobordernopadding nowrap">';
|
||||
print $langs->trans('to') . ' ';
|
||||
print '</td><td class="nobordernopadding nowrap">';
|
||||
print $form->select_date('', 'date_end' . $i, $usehm, $usehm, 1, "add");
|
||||
print $form->select_date('', 'date_end' . $i, $usehm, $usehm, 1, "add", 1, 0, 1);
|
||||
print '</td></tr></table>';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
@ -386,7 +386,7 @@ if ($action == 'new')
|
||||
//print '<tr><td width="30%">'.$langs->trans('Date').'</td><td width="70%">'.dol_print_date($now,'day').'</td></tr>';
|
||||
// Filter
|
||||
print '<tr><td width="200">'.$langs->trans("DateChequeReceived").'</td><td>';
|
||||
print $form->select_date($filterdate,'fd',0,0,1,'',1,1);
|
||||
print $form->select_date($filterdate,'fd',0,0,1,'',1,1,1);
|
||||
print '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("BankAccount").'</td><td>';
|
||||
$form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1);
|
||||
|
||||
@ -635,11 +635,11 @@ else
|
||||
$form=new Form($db);
|
||||
if ($object->birthday)
|
||||
{
|
||||
print $form->select_date($object->birthday,'birthday',0,0,0,"perso");
|
||||
print $form->select_date($object->birthday,'birthday',0,0,0,"perso", 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
print $form->select_date('','birthday',0,0,1,"perso");
|
||||
print $form->select_date('','birthday',0,0,1,"perso", 1, 0, 1);
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
@ -1156,7 +1156,7 @@ else
|
||||
print $langs->trans("VCard");
|
||||
print '</a>';
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
print "</table>";
|
||||
|
||||
print dol_fiche_end();
|
||||
|
||||
@ -129,7 +129,7 @@ if ($action == 'edit')
|
||||
// Date To Birth
|
||||
print '<tr><td>'.$langs->trans("DateToBirth").'</td><td>';
|
||||
$form=new Form($db);
|
||||
print $form->select_date($object->birthday,'birthday',0,0,1,"perso");
|
||||
print $form->select_date($object->birthday,'birthday',0,0,1,"perso", 1,0,1);
|
||||
print '</td>';
|
||||
|
||||
print '<td colspan="2">'.$langs->trans("Alert").': ';
|
||||
|
||||
@ -1687,11 +1687,11 @@ else
|
||||
}
|
||||
|
||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("DateServiceActivate").'</td><td>';
|
||||
print $form->select_date($dateactstart,'',$usehm,$usehm,'',"active");
|
||||
print $form->select_date($dateactstart,'',$usehm,$usehm,'',"active",1,0,1);
|
||||
print '</td>';
|
||||
|
||||
print '<td>'.$langs->trans("DateEndPlanned").'</td><td>';
|
||||
print $form->select_date($dateactend,"end",$usehm,$usehm,'',"active");
|
||||
print $form->select_date($dateactend,"end",$usehm,$usehm,'',"active",1,0,1);
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center" rowspan="2" valign="middle">';
|
||||
@ -1744,7 +1744,7 @@ else
|
||||
if ($objp->statut == 4)
|
||||
{
|
||||
print $langs->trans("DateEndReal").' ';
|
||||
$form->select_date($dateactend,"end",$usehm,$usehm,($objp->date_fin_reelle>0?0:1),"closeline",1,1);
|
||||
print $form->select_date($dateactend,"end",$usehm,$usehm,($objp->date_fin_reelle>0?0:1),"closeline",1,1,1);
|
||||
}
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
@ -191,14 +191,14 @@ if ($resql)
|
||||
print $form->selectarray('filter_op1',$arrayofoperators,$filter_op1,1);
|
||||
print ' ';
|
||||
$filter_date1=dol_mktime(0,0,0,$op1month,$op1day,$op1year);
|
||||
print $form->select_date($filter_date1,'op1',0,0,1);
|
||||
print $form->select_date($filter_date1,'op1',0,0,1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">';
|
||||
$arrayofoperators=array('<'=>'<','>'=>'>');
|
||||
print $form->selectarray('filter_op2',$arrayofoperators,$filter_op2,1);
|
||||
print ' ';
|
||||
$filter_date2=dol_mktime(0,0,0,$op2month,$op2day,$op2year);
|
||||
print $form->select_date($filter_date2,'op2',0,0,1);
|
||||
print $form->select_date($filter_date2,'op2',0,0,1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="right"><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 '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||
|
||||
@ -366,7 +366,7 @@ class CMailFile
|
||||
*/
|
||||
function sendfile()
|
||||
{
|
||||
global $conf;
|
||||
global $conf,$db;
|
||||
|
||||
$errorlevel=error_reporting();
|
||||
error_reporting($errorlevel ^ E_WARNING); // Desactive warnings
|
||||
@ -375,6 +375,20 @@ class CMailFile
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_ALL_MAILS))
|
||||
{
|
||||
|
||||
dol_include_once('/core/class/hookmanager.class.php');
|
||||
$hookmanager=new HookManager($db);
|
||||
$hookmanager->initHooks(array('maildao'));
|
||||
$reshook=$hookmanager->executeHooks('doactions',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if (!empty($reshook))
|
||||
{
|
||||
|
||||
$this->error="Error in hook maildao doactions ".$reshook;
|
||||
dol_syslog("CMailFile::sendfile: mail end error=".$this->error, LOG_ERR);
|
||||
|
||||
return $reshook;
|
||||
}
|
||||
|
||||
// Action according to choosed sending method
|
||||
if ($conf->global->MAIN_MAIL_SENDMODE == 'mail')
|
||||
{
|
||||
|
||||
@ -3537,7 +3537,7 @@ class Form
|
||||
$ret.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
$ret.='<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
|
||||
$ret.='<tr><td>';
|
||||
$ret.=$this->select_date($selected,$htmlname,$displayhour,$displaymin,1,'form'.$htmlname);
|
||||
$ret.=$this->select_date($selected,$htmlname,$displayhour,$displaymin,1,'form'.$htmlname,1,0,1);
|
||||
$ret.='</td>';
|
||||
$ret.='<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
||||
$ret.='</tr></table></form>';
|
||||
|
||||
@ -34,7 +34,7 @@ class DoliDBMysqli extends DoliDB
|
||||
//! Database type
|
||||
public $type='mysqli';
|
||||
//! Database label
|
||||
const LABEL='MySQL';
|
||||
const LABEL='MySQL or MariaDB';
|
||||
//! Version min database
|
||||
const VERSIONMIN='4.1.3';
|
||||
/** @var mysqli_result Resultset of last query */
|
||||
|
||||
@ -643,12 +643,12 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
|
||||
$pdf->SetXY($curx, $cury);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("BankAccountNumber").': ' . $outputlangs->convToOutputCharset($account->number), 0, 'L', 0);
|
||||
$cury+=3;
|
||||
|
||||
|
||||
if ($diffsizecontent <= 2) $cury+=1;
|
||||
}
|
||||
|
||||
$pdf->SetFont('','',$default_font_size - $diffsizecontent);
|
||||
|
||||
|
||||
if (empty($onlynumber) && ! empty($account->domiciliation))
|
||||
{
|
||||
$pdf->SetXY($curx, $cury);
|
||||
@ -659,7 +659,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
|
||||
$tmpy=$pdf->getStringHeight(100, $val);
|
||||
$cury+=$tmpy;
|
||||
}
|
||||
|
||||
|
||||
if (! empty($account->proprio))
|
||||
{
|
||||
$pdf->SetXY($curx, $cury);
|
||||
@ -668,9 +668,9 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
|
||||
$tmpy=$pdf->getStringHeight(100, $val);
|
||||
$cury+=$tmpy;
|
||||
}
|
||||
|
||||
|
||||
else if (! $usedetailedbban) $cury+=1;
|
||||
|
||||
|
||||
// Use correct name of bank id according to country
|
||||
$ibankey="IBANNumber";
|
||||
if ($account->getCountryCode() == 'IN') $ibankey="IFSC";
|
||||
@ -1735,12 +1735,22 @@ function pdf_getLinkedObjects($object,$outputlangs)
|
||||
$objects[$i]->fetchObjectLinked();
|
||||
$order = $objects[$i]->linkedObjects['commande'][0];
|
||||
|
||||
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending");
|
||||
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : '');
|
||||
$linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($objects[$i]->ref);
|
||||
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ' / ' . $outputlangs->transnoentities("DateSending");
|
||||
$linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs);
|
||||
$linkedobjects[$objecttype]['date_value'].= ' / ' . dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs);
|
||||
if (! empty($object->linkedObjects['commande'])) // There is already a link to order so we show only info of shipment
|
||||
{
|
||||
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefSending");
|
||||
$linkedobjects[$objecttype]['ref_value'].= $outputlangs->transnoentities($objects[$i]->ref);
|
||||
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("DateSending");
|
||||
$linkedobjects[$objecttype]['date_value'].= dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs);
|
||||
}
|
||||
else // We show both info of order and shipment
|
||||
{
|
||||
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending");
|
||||
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : '');
|
||||
$linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($objects[$i]->ref);
|
||||
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ' / ' . $outputlangs->transnoentities("DateSending");
|
||||
$linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs);
|
||||
$linkedobjects[$objecttype]['date_value'].= ' / ' . dol_print_date($objects[$i]->date_delivery,'day','',$outputlangs);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -257,6 +257,8 @@ function show_theme($fuser,$edit=0,$foruserprofile=false)
|
||||
global $conf,$langs,$db;
|
||||
global $bc;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
|
||||
|
||||
$formother = new FormOther($db);
|
||||
|
||||
//$dirthemes=array(empty($conf->global->MAIN_FORCETHEMEDIR)?'/theme':$conf->global->MAIN_FORCETHEMEDIR.'/theme');
|
||||
|
||||
@ -1423,8 +1423,10 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->SetFont('','B', $default_font_size + 3);
|
||||
|
||||
$w = 110;
|
||||
|
||||
$posy=$this->marge_haute;
|
||||
$posx=$this->page_largeur-$this->marge_droite-100;
|
||||
$posx=$this->page_largeur-$this->marge_droite-$w;
|
||||
|
||||
$pdf->SetXY($this->marge_gauche,$posy);
|
||||
|
||||
@ -1441,14 +1443,14 @@ class pdf_crabe extends ModelePDFFactures
|
||||
{
|
||||
$pdf->SetTextColor(200,0,0);
|
||||
$pdf->SetFont('','B',$default_font_size - 2);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text=$this->emetteur->name;
|
||||
$pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
|
||||
$pdf->MultiCell($w, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
|
||||
}
|
||||
|
||||
$pdf->SetFont('','B', $default_font_size + 3);
|
||||
@ -1459,14 +1461,14 @@ class pdf_crabe extends ModelePDFFactures
|
||||
if ($object->type == 2) $title=$outputlangs->transnoentities("InvoiceAvoir");
|
||||
if ($object->type == 3) $title=$outputlangs->transnoentities("InvoiceDeposit");
|
||||
if ($object->type == 4) $title=$outputlangs->transnoentities("InvoiceProFormat");
|
||||
$pdf->MultiCell(100, 3, $title, '', 'R');
|
||||
$pdf->MultiCell($w, 3, $title, '', 'R');
|
||||
|
||||
$pdf->SetFont('','B',$default_font_size);
|
||||
|
||||
$posy+=5;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R');
|
||||
$pdf->MultiCell($w, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R');
|
||||
|
||||
$posy+=1;
|
||||
$pdf->SetFont('','', $default_font_size - 2);
|
||||
@ -1476,7 +1478,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$posy+=4;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("RefCustomer")." : " . $outputlangs->convToOutputCharset($object->ref_client), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("RefCustomer")." : " . $outputlangs->convToOutputCharset($object->ref_client), '', 'R');
|
||||
}
|
||||
|
||||
$objectidnext=$object->getIdReplacingInvoice('validated');
|
||||
@ -1488,7 +1490,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$posy+=3;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ReplacementByInvoice").' : '.$outputlangs->convToOutputCharset($objectreplacing->ref), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("ReplacementByInvoice").' : '.$outputlangs->convToOutputCharset($objectreplacing->ref), '', 'R');
|
||||
}
|
||||
if ($object->type == 1)
|
||||
{
|
||||
@ -1498,7 +1500,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$posy+=4;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ReplacementInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("ReplacementInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
|
||||
}
|
||||
if ($object->type == 2)
|
||||
{
|
||||
@ -1508,20 +1510,20 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$posy+=3;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CorrectionInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("CorrectionInvoice").' : '.$outputlangs->convToOutputCharset($objectreplaced->ref), '', 'R');
|
||||
}
|
||||
|
||||
$posy+=4;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateInvoice")." : " . dol_print_date($object->date,"day",false,$outputlangs), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateInvoice")." : " . dol_print_date($object->date,"day",false,$outputlangs), '', 'R');
|
||||
|
||||
if ($object->type != 2)
|
||||
{
|
||||
$posy+=3;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateEcheance")." : " . dol_print_date($object->date_lim_reglement,"day",false,$outputlangs,true), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateEcheance")." : " . dol_print_date($object->date_lim_reglement,"day",false,$outputlangs,true), '', 'R');
|
||||
}
|
||||
|
||||
if ($object->thirdparty->code_client)
|
||||
@ -1529,13 +1531,13 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$posy+=3;
|
||||
$pdf->SetXY($posx,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R');
|
||||
$pdf->MultiCell($w, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R');
|
||||
}
|
||||
|
||||
$posy+=1;
|
||||
|
||||
// Show list of linked objects
|
||||
$posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, 100, 3, 'R', $default_font_size);
|
||||
$posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, $w, 3, 'R', $default_font_size);
|
||||
|
||||
if ($showaddress)
|
||||
{
|
||||
|
||||
@ -347,9 +347,9 @@ if ((! empty($conf->service->enabled) || ($object->element == 'contrat')) && $da
|
||||
else
|
||||
{
|
||||
echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
||||
echo $form->select_date($date_start,'date_start',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct");
|
||||
echo $form->select_date($date_start,'date_start',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct",1,0,1);
|
||||
echo ' '.$langs->trans('to').' ';
|
||||
echo $form->select_date($date_end,'date_end',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct");
|
||||
echo $form->select_date($date_end,'date_end',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct",1,0,1);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@ -222,9 +222,9 @@ $coldisplay=-1; // We remove first td
|
||||
<td colspan="11"><?php echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' '; ?>
|
||||
<?php
|
||||
$hourmin=(isset($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE:'');
|
||||
echo $form->select_date($line->date_start,'date_start',$hourmin,$hourmin,$line->date_start?0:1,"updateligne");
|
||||
echo $form->select_date($line->date_start,'date_start',$hourmin,$hourmin,$line->date_start?0:1,"updateligne",1,0,1);
|
||||
echo ' '.$langs->trans('to').' ';
|
||||
echo $form->select_date($line->date_end,'date_end',$hourmin,$hourmin,$line->date_end?0:1,"updateligne");
|
||||
echo $form->select_date($line->date_end,'date_end',$hourmin,$hourmin,$line->date_end?0:1,"updateligne",1,0,1);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -542,7 +542,7 @@ if ($action == 'create')
|
||||
print '<td colspan="3">';
|
||||
//print dol_print_date($object->date_livraison,"day"); // date_livraison come from order and will be stored into date_delivery planed.
|
||||
$date_delivery = ($date_delivery?$date_delivery:$object->date_livraison); // $date_delivery comes from GETPOST
|
||||
print $form->select_date($date_delivery?$date_delivery:-1,'date_delivery',1,1);
|
||||
print $form->select_date($date_delivery?$date_delivery:-1,'date_delivery',1,1,1);
|
||||
print "</td>\n";
|
||||
print '</tr>';
|
||||
|
||||
@ -1059,7 +1059,7 @@ else if ($id || $ref)
|
||||
print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="setdate_livraison">';
|
||||
$form->select_date($object->date_delivery?$object->date_delivery:-1,'liv_',1,1,'',"setdate_livraison");
|
||||
print $form->select_date($object->date_delivery?$object->date_delivery:-1,'liv_',1,1,'',"setdate_livraison",1,0,1);
|
||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
@ -1380,6 +1380,7 @@ else if ($id > 0 || ! empty($ref))
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php';
|
||||
}
|
||||
|
||||
// Line of interventions
|
||||
if (empty($conf->global->FICHINTER_DISABLE_DETAILS))
|
||||
{
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" name="addinter" method="post">';
|
||||
@ -1556,9 +1557,9 @@ else if ($id > 0 || ! empty($ref))
|
||||
print '<td colspan="4"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
$var=false;
|
||||
$var=true;
|
||||
|
||||
print '<tr '.$bc[$var].">\n";
|
||||
print '<tr '.$bcnd[$var].">\n";
|
||||
print '<td>';
|
||||
// editeur wysiwyg
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
* \brief File that include conf.php file and commons lib like functions.lib.php
|
||||
*/
|
||||
|
||||
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.8.0-alpha');
|
||||
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.8.0-beta');
|
||||
|
||||
if (! defined('EURO')) define('EURO',chr(128));
|
||||
|
||||
@ -57,12 +57,16 @@ if (defined('DOL_INC_FOR_VERSION_ERROR')) return;
|
||||
// Define vars
|
||||
$conffiletoshowshort = "conf.php";
|
||||
// Define localization of conf file
|
||||
// --- Start of part replaced by Dolibarr packager makepack-dolibarr
|
||||
$conffile = "conf/conf.php";
|
||||
$conffiletoshow = "htdocs/conf/conf.php";
|
||||
// For debian/redhat like systems
|
||||
//$conffile = "/etc/dolibarr/conf.php";
|
||||
//$conffiletoshow = "/etc/dolibarr/conf.php";
|
||||
|
||||
|
||||
// Include configuration
|
||||
// --- End of part replaced by Dolibarr packager makepack-dolibarr
|
||||
// Replace conf filename with "conf" parameter on url by GET
|
||||
if (! empty($_GET['conf']))
|
||||
{
|
||||
|
||||
@ -2216,9 +2216,9 @@ elseif (! empty($object->id))
|
||||
|
||||
print '<br>';
|
||||
print $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
||||
print $form->select_date($date_start,'date_start'.$date_pf,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,'');
|
||||
print $form->select_date($date_start,'date_start'.$date_pf,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,'',1,0,1);
|
||||
print ' '.$langs->trans('to').' ';
|
||||
print $form->select_date($date_end,'date_end'.$date_pf,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,'');
|
||||
print $form->select_date($date_end,'date_end'.$date_pf,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,'',1,0,1);
|
||||
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
@ -2790,7 +2790,7 @@ elseif (! empty($object->id))
|
||||
//print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("ToOrder").'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("OrderDate").'</td><td>';
|
||||
$date_com = dol_mktime(0, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
|
||||
print $form->select_date($date_com,'',1,1,'',"commande");
|
||||
print $form->select_date($date_com,'',1,1,'',"commande",1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td>'.$langs->trans("OrderMode").'</td><td>';
|
||||
@ -2817,7 +2817,7 @@ elseif (! empty($object->id))
|
||||
print '<table class="border" width="100%">';
|
||||
//print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Receive").'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("DeliveryDate").'</td><td>';
|
||||
print $form->select_date('','',1,1,'',"commande");
|
||||
print $form->select_date('','',1,1,'',"commande",1,0,1);
|
||||
print "</td></tr>\n";
|
||||
|
||||
print "<tr><td>".$langs->trans("Delivery")."</td><td>\n";
|
||||
|
||||
@ -308,7 +308,8 @@ if (! empty($force_install_message))
|
||||
$class='DoliDB'.ucfirst($type);
|
||||
include_once $dir."/".$file;
|
||||
|
||||
if ($type == 'sqlite') continue; // We hide sqlite because support can't be complete until sqlite does not manage foreign key creation after table creation
|
||||
if ($type == 'sqlite') continue; // We hide sqlite because support can't be complete until sqlite does not manage foreign key creation after table creation (ALTER TABLE child ADD CONSTRAINT not supported)
|
||||
if ($type == 'sqlite3') continue; // We hide sqlite3 because support can't be complete until sqlite does not manage foreign key creation after table creation (ALTER TABLE child ADD CONSTRAINT not supported)
|
||||
|
||||
// Version min of database
|
||||
$versionbasemin=explode('.',$class::VERSIONMIN);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1397,7 +1397,7 @@ UseSearchToSelectProduct=Use a search form to choose a product (rather than a dr
|
||||
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
||||
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
||||
SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties
|
||||
UseUnits=Support units
|
||||
UseUnits=Define a unit of measure for Quantity during order, proposal or invoice lines edition
|
||||
ProductCodeChecker= Module for product code generation and checking (product or service)
|
||||
ProductOtherConf= Product / Service configuration
|
||||
##### Syslog #####
|
||||
@ -1454,7 +1454,7 @@ FixedEmailTarget=Fixed email target
|
||||
SendingsSetup=Sending module setup
|
||||
SendingsReceiptModel=Sending receipt model
|
||||
SendingsNumberingModules=Sendings numbering modules
|
||||
SendingsAbility=Support shipment sheets for customer deliveries
|
||||
SendingsAbility=Support shipping sheets for customer deliveries
|
||||
NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated.
|
||||
FreeLegalTextOnShippings=Free text on shipments
|
||||
##### Deliveries #####
|
||||
@ -1658,7 +1658,7 @@ UnicodeCurrency=Enter here between braces, list of byte number that represent th
|
||||
PositionIntoComboList=Position of line into combo lists
|
||||
SellTaxRate=Sale tax rate
|
||||
RecuperableOnly=Yes for VAT "Non Perçue Récupérable" dedicated for some state in France. Keep value to "No" in all other cases.
|
||||
UrlTrackingDesc=If the provider or transport service offer a page or web site to check status of your shipment, you can enter it here. You can use the key {TRACKID} into URL parameters so the system will replace it with value of tracking number user entered into shipment card.
|
||||
UrlTrackingDesc=If the provider or transport service offer a page or web site to check status of your shipping, you can enter it here. You can use the key {TRACKID} into URL parameters so the system will replace it with value of tracking number user entered into shipment card.
|
||||
OpportunityPercent=When you create an opportunity, you will defined an estimated amount of project/lead. According to status of opportunity, this amount may be multiplicated by this rate to evaluate global amount all your opportunities may generate. Value is percent (between 0 and 100).
|
||||
TemplateForElement=This template record is dedicated to which element
|
||||
TypeOfTemplate=Type of template
|
||||
|
||||
@ -264,7 +264,7 @@ PriceCatalogue=Unique price per product/service
|
||||
PricingRule=Rules for customer prices
|
||||
AddCustomerPrice=Add price by customer
|
||||
ForceUpdateChildPriceSoc=Set same price on customer subsidiaries
|
||||
PriceByCustomerLog=Price by customer log
|
||||
PriceByCustomerLog=Log of previous customer prices
|
||||
MinimumPriceLimit=Minimum price can't be lower then %s
|
||||
MinimumRecommendedPrice=Minimum recommended price is : %s
|
||||
PriceExpressionEditor=Price expression editor
|
||||
|
||||
@ -5,7 +5,7 @@ Sendings=Shipments
|
||||
AllSendings=All Shipments
|
||||
Shipment=Shipment
|
||||
Shipments=Shipments
|
||||
ShowSending=Show Sending
|
||||
ShowSending=Show Shipments
|
||||
Receivings=Receipts
|
||||
SendingsArea=Shipments area
|
||||
ListOfSendings=List of shipments
|
||||
@ -26,8 +26,8 @@ QtyToShip=Qty to ship
|
||||
QtyReceived=Qty received
|
||||
KeepToShip=Remain to ship
|
||||
OtherSendingsForSameOrder=Other shipments for this order
|
||||
DateSending=Date sending order
|
||||
DateSendingShort=Date sending order
|
||||
DateSending=Shipping date
|
||||
DateSendingShort=Shipping date
|
||||
SendingsForSameOrder=Shipments for this order
|
||||
SendingsAndReceivingForSameOrder=Shipments and receivings for this order
|
||||
SendingsToValidate=Shipments to validate
|
||||
|
||||
@ -57,7 +57,7 @@ RuleForStockManagementDecrease=Rule for stock management decrease
|
||||
RuleForStockManagementIncrease=Rule for stock management increase
|
||||
DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation
|
||||
DeStockOnValidateOrder=Decrease real stocks on customers orders validation
|
||||
DeStockOnShipment=Decrease real stocks on shipment validation
|
||||
DeStockOnShipment=Decrease real stocks on shipping validation
|
||||
ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation
|
||||
ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation
|
||||
ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving
|
||||
|
||||
@ -296,3 +296,4 @@ PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is
|
||||
PropalMergePdfProductChooseFile=Select PDF files
|
||||
IncludingProductWithTag=Including product with tag
|
||||
DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer
|
||||
DefaultUnitToShow=Default unit to show
|
||||
@ -46,7 +46,7 @@ $object = new Loan($db);
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
|
||||
// Classify paid
|
||||
if ($action == 'confirm_paid' && $confirm == 'yes')
|
||||
{
|
||||
@ -86,7 +86,7 @@ if ($action == 'add' && $user->rights->loan->write)
|
||||
{
|
||||
$datestart=@dol_mktime(12,0,0, $_POST["startmonth"], $_POST["startday"], $_POST["startyear"]);
|
||||
$dateend=@dol_mktime(12,0,0, $_POST["endmonth"], $_POST["endday"], $_POST["endyear"]);
|
||||
|
||||
|
||||
if (! $datestart)
|
||||
{
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateStart")), 'errors');
|
||||
@ -218,13 +218,13 @@ if ($action == 'create')
|
||||
// Date Start
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("DateStart").'</td><td>';
|
||||
print $form->select_date($datestart?$datestart:-1,'start','','','','add',1,1);
|
||||
print $form->select_date($datestart?$datestart:-1,'start','','','','add',1,1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date End
|
||||
print "<tr>";
|
||||
print '<td class="fieldrequired">'.$langs->trans("DateEnd").'</td><td>';
|
||||
print $form->select_date($dateend?$dateend:-1,'end','','','','add',1,1);
|
||||
print $form->select_date($dateend?$dateend:-1,'end','','','','add',1,1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Number of terms
|
||||
@ -356,7 +356,7 @@ if ($id > 0)
|
||||
print "<td>";
|
||||
if ($action == 'edit')
|
||||
{
|
||||
print $form->select_date($object->datestart, 'start', 0, 0, 0, 'update', 1);
|
||||
print $form->select_date($object->datestart, 'start', 0, 0, 0, 'update', 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -369,7 +369,7 @@ if ($id > 0)
|
||||
print "<td>";
|
||||
if ($action == 'edit')
|
||||
{
|
||||
print $form->select_date($object->dateend, 'end', 0, 0, 0, 'update', 1);
|
||||
print $form->select_date($object->dateend, 'end', 0, 0, 0, 'update', 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -402,7 +402,7 @@ if ($id > 0)
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
|
||||
print '</div>';
|
||||
print '</form>';
|
||||
}
|
||||
}
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ if ($object->id)
|
||||
print "<td>";
|
||||
if ($action == 'edit')
|
||||
{
|
||||
print $form->select_date($object->datestart, 'start', 0, 0, 0, 'loan', 1);
|
||||
print $form->select_date($object->datestart, 'start', 0, 0, 0, 'loan', 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -137,7 +137,7 @@ if ($object->id)
|
||||
print "<td>";
|
||||
if ($action == 'edit')
|
||||
{
|
||||
print $form->select_date($object->dateend, 'end', 0, 0, 0, 'loan', 1);
|
||||
print $form->select_date($object->dateend, 'end', 0, 0, 0, 'loan', 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -287,7 +287,7 @@ print '</td></tr>';
|
||||
|
||||
// Expire date
|
||||
print '<tr><td>'.$langs->trans('ExpireDate').'</td><td colspan="2">';
|
||||
if ($action == 'edit') print $form->select_date($expiredate?$expiredate:$object->date_fin,'expire');
|
||||
if ($action == 'edit') print $form->select_date($expiredate?$expiredate:$object->date_fin,'expire',0,0,0,'',1,0,1);
|
||||
else print dol_print_date($object->date_fin,'day');
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
@ -458,7 +458,7 @@ print '</td></tr>';
|
||||
|
||||
// Expire date
|
||||
print '<tr><td>'.$langs->trans('ExpireDate').'</td><td colspan="2">';
|
||||
if ($action == 'edit') print $form->select_date($expiredate?$expiredate:$object->date_fin,'expire');
|
||||
if ($action == 'edit') print $form->select_date($expiredate?$expiredate:$object->date_fin,'expire',0,0,0,'',1,0,1);
|
||||
else print dol_print_date($object->date_fin,'day');
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
@ -101,7 +101,7 @@ if (GETPOST("creation_sondage_date") || GETPOST("creation_sondage_autre"))
|
||||
if (! $testdate) {
|
||||
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("ExpireDate")), 'errors');
|
||||
}
|
||||
|
||||
|
||||
if ($titre && $testdate)
|
||||
{
|
||||
if (! empty($creation_sondage_date))
|
||||
@ -156,7 +156,7 @@ print '</tr>'."\n";
|
||||
|
||||
print '<tr><td class="fieldrequired">'. $langs->trans("ExpireDate") .'</td><td>';
|
||||
|
||||
print $form->select_date($champdatefin?$champdatefin:-1,'champdatefin','','','',"add",1,0);
|
||||
print $form->select_date($champdatefin?$champdatefin:-1,'champdatefin','','','',"add",1,0,1);
|
||||
|
||||
print '</tr>'."\n";
|
||||
print '</table>'."\n";
|
||||
|
||||
@ -952,6 +952,15 @@ else
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Units
|
||||
if($conf->global->PRODUCT_USE_UNITS)
|
||||
{
|
||||
print '<tr><td>'.$langs->trans('DefaultUnitToShow').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $form->selectUnits('','units');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Custom code
|
||||
if (empty($conf->global->PRODUCT_DISABLE_CUSTOM_INFO))
|
||||
{
|
||||
@ -988,15 +997,6 @@ else
|
||||
print "</td></tr>";
|
||||
}
|
||||
|
||||
// Units
|
||||
if($conf->global->PRODUCT_USE_UNITS)
|
||||
{
|
||||
print '<tr><td>'.$langs->trans('Unit').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $form->selectUnits("units");
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
@ -1223,7 +1223,7 @@ else
|
||||
print '</td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// Weight
|
||||
print '<tr><td>'.$langs->trans("Weight").'</td><td colspan="3">';
|
||||
print '<input name="weight" size="5" value="'.$object->weight.'"> ';
|
||||
@ -1245,6 +1245,14 @@ else
|
||||
print $formproduct->select_measuring_units("volume_units", "volume", $object->volume_units);
|
||||
print '</td></tr>';
|
||||
}
|
||||
// Units
|
||||
if($conf->global->PRODUCT_USE_UNITS)
|
||||
{
|
||||
print '<tr><td>'.$langs->trans('DefaultUnitToShow').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $form->selectUnits($object->fk_unit, 'units');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Custom code
|
||||
if (empty($conf->global->PRODUCT_DISABLE_CUSTOM_INFO))
|
||||
@ -1286,15 +1294,6 @@ else
|
||||
print "</td></tr>";
|
||||
}
|
||||
|
||||
// Units
|
||||
if($conf->global->PRODUCT_USE_UNITS)
|
||||
{
|
||||
print '<tr><td>'.$langs->trans('Unit').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $form->selectUnits($object->fk_unit);
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
@ -1567,7 +1566,7 @@ else
|
||||
{
|
||||
$unit = $object->getLabelOfUnit();
|
||||
|
||||
print '<tr><td>'.$langs->trans('Unit').'</td><td>';
|
||||
print '<tr><td>'.$langs->trans('DefaultUnitToShow').'</td><td>';
|
||||
if ($unit !== '') {
|
||||
print $langs->trans($unit);
|
||||
}
|
||||
|
||||
@ -232,9 +232,10 @@ class Productcustomerprice extends CommonObject
|
||||
* @param int $id object
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch($id) {
|
||||
|
||||
function fetch($id)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$sql = "SELECT";
|
||||
$sql .= " t.rowid,";
|
||||
|
||||
@ -293,18 +294,22 @@ class Productcustomerprice extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Load all objects in memory from database
|
||||
* Load all customer prices in memory from database
|
||||
*
|
||||
* @param string $sortorder order
|
||||
* @param string $sortfield field
|
||||
* @param int $limit page
|
||||
* @param int $offset offset
|
||||
* @param array $filter output
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param string $sortorder order
|
||||
* @param string $sortfield field
|
||||
* @param int $limit page
|
||||
* @param int $offset offset
|
||||
* @param array $filter Filter for select
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch_all($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, $filter = array()) {
|
||||
|
||||
function fetch_all($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, $filter = array())
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if (! empty($sortfield)) $sortfield = "t.rowid";
|
||||
if (! empty($sortorder)) $sortorder = "DESC";
|
||||
|
||||
$sql = "SELECT";
|
||||
$sql .= " t.rowid,";
|
||||
|
||||
@ -347,12 +352,8 @@ class Productcustomerprice extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($sortfield)) {
|
||||
$sql .= " ORDER BY " . $sortfield . ' ' . $sortorder;
|
||||
}
|
||||
if (! empty($limit)) {
|
||||
$sql .= ' ' . $this->db->plimit($limit + 1, $offset);
|
||||
}
|
||||
$sql.= $this->db->order($sortfield, $sortorder);
|
||||
if (! empty($limit)) $sql .= ' ' . $this->db->plimit($limit + 1, $offset);
|
||||
|
||||
dol_syslog(get_class($this) . "::fetch_all", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
@ -400,16 +401,20 @@ class Productcustomerprice extends CommonObject
|
||||
/**
|
||||
* Load all objects in memory from database
|
||||
*
|
||||
* @param string $sortorder order
|
||||
* @param string $sortfield field
|
||||
* @param int $limit page
|
||||
* @param int $offset offset
|
||||
* @param array $filter output
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param string $sortorder order
|
||||
* @param string $sortfield field
|
||||
* @param int $limit page
|
||||
* @param int $offset offset
|
||||
* @param array $filter Filter for sql request
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch_all_log($sortorder, $sortfield, $limit, $offset, $filter = array()) {
|
||||
|
||||
function fetch_all_log($sortorder, $sortfield, $limit, $offset, $filter = array())
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if (! empty($sortfield)) $sortfield = "t.rowid";
|
||||
if (! empty($sortorder)) $sortorder = "DESC";
|
||||
|
||||
$sql = "SELECT";
|
||||
$sql .= " t.rowid,";
|
||||
|
||||
@ -451,12 +456,8 @@ class Productcustomerprice extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($sortfield)) {
|
||||
$sql .= " ORDER BY " . $sortfield . ' ' . $sortorder;
|
||||
}
|
||||
if (! empty($limit)) {
|
||||
$sql .= ' ' . $this->db->plimit($limit + 1, $offset);
|
||||
}
|
||||
$sql.= $this->db->order($sortfield, $sortorder);
|
||||
if (! empty($limit)) $sql .= ' ' . $this->db->plimit($limit + 1, $offset);
|
||||
|
||||
dol_syslog(get_class($this) . "::fetch_all_log", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@ -829,7 +829,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->
|
||||
}
|
||||
}
|
||||
|
||||
// Liste des evolutions du prix
|
||||
// List of price changes (ordered by descending date)
|
||||
$sql = "SELECT p.rowid, p.price, p.price_ttc, p.price_base_type, p.tva_tx, p.recuperableonly,";
|
||||
$sql .= " p.price_level, p.price_min, p.price_min_ttc,p.price_by_qty,";
|
||||
$sql .= " p.date_price as dp, p.fk_price_expression, u.rowid as user_id, u.login";
|
||||
@ -1156,7 +1156,6 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
}
|
||||
elseif ($action == 'showlog_customer_price')
|
||||
{
|
||||
|
||||
$filter = array('t.fk_product' => $object->id,'t.fk_soc' => GETPOST('socid', 'int'));
|
||||
|
||||
// Count total nb of records
|
||||
@ -1199,6 +1198,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
foreach ($prodcustprice->lines as $line)
|
||||
{
|
||||
$var = ! $var;
|
||||
print "<tr ".$bc[$var].">";
|
||||
// Date
|
||||
$staticsoc = new Societe($db);
|
||||
@ -1237,7 +1237,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
// Count total nb of records
|
||||
$nbtotalofrecords = 0;
|
||||
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
||||
$nbtotalofrecords = $prodcustprice->fetch_all('', '', 0, 0, $filter);
|
||||
$nbtotalofrecords = $prodcustprice->fetch_all($sortfield, $sortorder, 0, 0, $filter);
|
||||
}
|
||||
|
||||
$result = $prodcustprice->fetch_all($sortorder, $sortfield, $conf->liste_limit, $offset, $filter);
|
||||
|
||||
@ -747,10 +747,10 @@ if ($resql)
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST"><input type="hidden" name="pdluoid" value="'.$pdluo->id.'"><input type="hidden" name="action" value="updateline"><input type="hidden" name="id" value="'.$id.'"><table class="noborder" width="100%"><tr><td width="10%"></td>';
|
||||
print '<td align="right" width="10%"><input type="text" name="batch_number" value="'.$pdluo->batch.'"></td>';
|
||||
print '<td align="center" width="10%">';
|
||||
$form->select_date($pdluo->eatby,'eatby','','',1,"");
|
||||
$form->select_date($pdluo->eatby,'eatby','','',1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td align="center" width="10%">';
|
||||
$form->select_date($pdluo->sellby,'sellby','','',1,"");
|
||||
$form->select_date($pdluo->sellby,'sellby','','',1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td align="right" width="10%">'.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'</td>';
|
||||
print '<td colspan="4"><input type="submit" class="button" id="savelinebutton" name="save" value="'.$langs->trans("Save").'">';
|
||||
|
||||
@ -484,12 +484,12 @@ if ($action == 'create' && $user->rights->projet->creer)
|
||||
|
||||
// Date start
|
||||
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
|
||||
print $form->select_date(($date_start?$date_start:''),'projectstart');
|
||||
print $form->select_date(($date_start?$date_start:''),'projectstart',0,0,0,'',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date end
|
||||
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
|
||||
print $form->select_date(($date_end?$date_end:-1),'projectend');
|
||||
print $form->select_date(($date_end?$date_end:-1),'projectend',0,0,0,'',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
|
||||
@ -642,7 +642,7 @@ else
|
||||
|
||||
// Date start
|
||||
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
|
||||
print $form->select_date($object->date_start?$object->date_start:-1,'projectstart');
|
||||
print $form->select_date($object->date_start?$object->date_start:-1,'projectstart',0,0,0,'',1,0,1);
|
||||
print ' <input type="checkbox" name="reportdate" value="yes" ';
|
||||
if ($comefromclone){print ' checked ';}
|
||||
print '/> '. $langs->trans("ProjectReportDate");
|
||||
@ -650,7 +650,7 @@ else
|
||||
|
||||
// Date end
|
||||
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
|
||||
print $form->select_date($object->date_end?$object->date_end:-1,'projectend');
|
||||
print $form->select_date($object->date_end?$object->date_end:-1,'projectend',0,0,0,'',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
|
||||
|
||||
@ -320,10 +320,10 @@ if (! $showdatefilter)
|
||||
print '<input type="hidden" name="action" value="view">';
|
||||
print '<table><tr>';
|
||||
print '<td>'.$langs->trans("From").' ';
|
||||
print $form->select_date($dates,'dates',0,0,1);
|
||||
print $form->select_date($dates,'dates',0,0,1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td>'.$langs->trans("to").' ';
|
||||
print $form->select_date($datee,'datee',0,0,1);
|
||||
print $form->select_date($datee,'datee',0,0,1,'',1,0,1);
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print '<input type="submit" name="refresh" value="'.$langs->trans("Refresh").'" class="button">';
|
||||
|
||||
@ -310,12 +310,12 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third
|
||||
|
||||
// Date start
|
||||
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
|
||||
print $form->select_date(($date_start?$date_start:''),'dateo',1,1,0,'',1,1);
|
||||
print $form->select_date(($date_start?$date_start:''),'dateo',1,1,0,'',1,1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date end
|
||||
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
|
||||
print $form->select_date(($date_end?$date_end:-1),'datee',1,1,0,'',1,1);
|
||||
print $form->select_date(($date_end?$date_end:-1),'datee',1,1,0,'',1,1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// planned workload
|
||||
|
||||
@ -336,12 +336,12 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
// Date start
|
||||
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
|
||||
print $form->select_date($object->date_start,'dateo',1,1);
|
||||
print $form->select_date($object->date_start,'dateo',1,1,0,'',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Date end
|
||||
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
|
||||
print $form->select_date($object->date_end?$object->date_end:-1,'datee',1,1);
|
||||
print $form->select_date($object->date_end?$object->date_end:-1,'datee',1,1,0,'',1,0,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Planned workload
|
||||
|
||||
@ -385,7 +385,7 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<td class="nowrap">';
|
||||
//$newdate=dol_mktime(12,0,0,$_POST["timemonth"],$_POST["timeday"],$_POST["timeyear"]);
|
||||
$newdate='';
|
||||
print $form->select_date($newdate,'time',1,1,2,"timespent_date");
|
||||
print $form->select_date($newdate,'time',1,1,2,"timespent_date",1,0,1);
|
||||
print '</td>';
|
||||
|
||||
// Contributor
|
||||
@ -486,7 +486,7 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<td class="nowrap">';
|
||||
if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid)
|
||||
{
|
||||
print $form->select_date($db->jdate($date2?$date2:$date1),'timeline',1,1,2,"timespent_date");
|
||||
print $form->select_date($db->jdate($date2?$date2:$date1),'timeline',1,1,2,"timespent_date",1,0,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -504,7 +504,7 @@ if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||
}
|
||||
// Birthday
|
||||
print '<tr id="trbirth" class="trbirth"><td>'.$langs->trans("DateToBirth").'</td><td>';
|
||||
print $form->select_date($birthday,'birth',0,0,1,"newmember");
|
||||
print $form->select_date($birthday,'birth',0,0,1,"newmember",1,0,1);
|
||||
print '</td></tr>'."\n";
|
||||
// Photo
|
||||
print '<tr><td>'.$langs->trans("URLPhoto").'</td><td><input type="text" name="photo" size="40" value="'.dol_escape_htmltag(GETPOST('photo')).'"></td></tr>'."\n";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user