diff --git a/ChangeLog b/ChangeLog
index 5c5ad383d7a..3a04104b128 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -64,14 +64,16 @@ For users:
- New: Add field oustanding limit into thirdparty properties.
- New: Can enter a vat payment of zero.
- New: Add path to installed dir of external modules + Name and web of module provider.
+- New: Add option to use a specific mask for uploaded filename
- Qual: Implement same rule for return value of all command line scripts (0 when success, <>0 if error).
- Fix: [ bug #992 ] Proforma invoices don't have a separated numeric count.
- Fix: [ bug #1022 ] correct margin calculation for credit notes.
+- Fix: Better management of using ajax for upload form (to solve problem when enabling ajax jquery multifile upload in some cases).
For translators:
- Qual: Normalized sort order of all languages files with english reference files.
-- New: Add language code files for South Africa, France new caledonia.
-- New: Translate the email to change password.
+- New: Add language code files for South Africa, France new caledonia, Vietnam.
+- New: Translate string for email to change password.
For developers:
- New: DolGraph can build graph with three lines.
diff --git a/build/debian/README.howto b/build/debian/README.howto
index 6f06f5ab91b..7108f0a381f 100644
--- a/build/debian/README.howto
+++ b/build/debian/README.howto
@@ -8,6 +8,9 @@ script to build a package, ready to be distributed,
with format .DEB (for Debian, Ubuntu, ...).
+
+##### Prepare linux env to work
+
# To build a debian package, you need first
# With Ubuntu 12.04
# apt-get install debhelper dpkg-source gpg lintian git-buildpackage pkg-php-tools schroot sbuild dh-linktree dh-make-php
@@ -41,6 +44,9 @@ END
* Ask to be included into project collab-maint: http://alioth.debian.org/projects/collab-maint/
+
+##### Some interesting command to know
+
# To translate .po files
# debconf-updatepo To run into po dir to regenate templates.pot
# podebconf-report-po --from email@email.com To send email to ask translations
@@ -66,9 +72,8 @@ END
# gdebi package.deb Install a package + dependencies
-##########################################################
-To submit a package to Debian:
+##### Global view of submit new package to Debian:
- Post an ITP with reportbugs :
> reportbug -B debian --email username@domain.tld wnpp
@@ -90,19 +95,28 @@ http://bugs.debian.org/package
-##########################################################
-
-To generate a package
+##### Testing a package into unstable env
Create a chroot called "unstable-amd64-sbuild"
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
+Pour lister les env chroot
+> schroot -l
+
Puis pour se connecter
-> schroot
+> schroot -c name_of_chroot
+
+Pour tester un package
+> cp *.deb /srv/chroot/unstable/tmp
+> schroot -c name_of_chroot
+> dpkg -i dolibarr*.deb
+> sudo apt-get install -f
-##########################################################
+
+
+##### Create/Maintain TCPDF package
To update tcpdf package:
@@ -128,7 +142,7 @@ from origin/upstream and origin/pristine.
Note: If there was errors solved manually, you may need to make a git commit
* Add an entry into debian/changelog
-> dh "My comment" will add entry.
+> dch -v x.y.z-1 "My comment" will add entry.
For example: dch -v x.y.z-1 "New upstream release." for a new version
Warning: Date must have format reported by "date -R"
@@ -157,7 +171,8 @@ http://packages.qa.debian.org/t/tcpdf.html
* Package will be into release when test will be moved as stable.
-##########################################################
+
+##### Create/Maintain dolibarr package
To update dolibarr debian package
@@ -183,7 +198,7 @@ from origin/upstream and origin/pristine.
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
* Add an entry into debian/changelog
-> dh "My comment" will add entry.
+> dch -v x.y.z-1 "My comment" will add entry.
For example: dch -v x.y.z-1 "New upstream release." for a new version
Then modify changelog to replace "unstable" with "UNRELEASED".
diff --git a/build/obs/README b/build/obs/README
index c7dda9093f1..56589299b89 100644
--- a/build/obs/README
+++ b/build/obs/README
@@ -23,12 +23,13 @@ To submit a snapshot for building, we should have a service file with content
www.dolibarr.org
http
- /files/stable/package_rpm_generic/dolibarr-3.3.2-3.src.rpm
+ /files/stable/package_rpm_generic/dolibarr-x.y.z-3.src.rpm
-How to have such a service ?
-Try to make "Add file" and select Remote URL and enter http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-3.3.2-3.src.rpm
+How to have such a service file created automatically ?
+Click on "Add file", then select mode "Upload From: Remote URL"
+Enter the Remote URL that should looks like this: http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-3.src.rpm
Then add into advanded - attributes
OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png
diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec
index 2418698e12d..609a5d27158 100755
--- a/build/rpm/dolibarr_generic.spec
+++ b/build/rpm/dolibarr_generic.spec
@@ -464,7 +464,11 @@ echo Restart mysql server
/sbin/service mysqld restart
%else
%if 0%{?suse_version}
+if [ -f /etc/init.d/mysqld ]; then
+ /etc/init.d/mysqld restart
+else
/sbin/service mysql restart
+fi
%else
if [ -f /etc/init.d/mysqld ]; then
/etc/init.d/mysqld restart
diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec
index bdfb0eab0af..692114e508b 100755
--- a/build/rpm/dolibarr_opensuse.spec
+++ b/build/rpm/dolibarr_opensuse.spec
@@ -288,7 +288,11 @@ fi
# Restart mysql
echo Restart mysql
-/sbin/service mysql restart
+if [ -f /etc/init.d/mysqld ]; then
+ /etc/init.d/mysqld restart
+else
+ /sbin/service mysql restart
+fi
# Show result
echo
diff --git a/doc/images/dolibarr_screenshot1_300x188.png b/doc/images/dolibarr_screenshot1_300x188.png
new file mode 100644
index 00000000000..51c949ee67e
Binary files /dev/null and b/doc/images/dolibarr_screenshot1_300x188.png differ
diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 9f0f9089e76..de9fb91a6f3 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -59,19 +59,23 @@ class FormFile
* @param int $size Length of input file area
* @param Object $object Object to use (when attachment is done on an element)
* @param string $options Options
- * @param boolean $useajax Use ajax if enabled
+ * @param boolean $useajax Use fileupload ajax (0=never, 1=if enabled, 2=always whatever is option). 2 should never be used.
+ * @param string $savingdocmask Mask to use to define output filename. For example 'XXXXX-__YYYYMMDD__-__file__'
* @return int <0 if KO, >0 if OK
*/
- function form_attach_new_file($url, $title='', $addcancel=0, $sectionid=0, $perm=1, $size=50, $object='', $options='', $useajax=true)
+ function form_attach_new_file($url, $title='', $addcancel=0, $sectionid=0, $perm=1, $size=50, $object='', $options='', $useajax=1, $savingdocmask='')
{
global $conf,$langs, $hookmanager;
$hookmanager->initHooks(array('formfile'));
if (! empty($conf->browser->phone)) return 0;
- if (! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) && $useajax)
+ if ((! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) && $useajax) || ($useajax==2))
{
- return $this->_formAjaxFileUpload($object);
+ // TODO: Cheeck this works with 2 forms on same page
+ // TODO: Cheeck this works with GED module, otherwise, force useajax to 0
+ // TODO: This does not support option savingdocmask
+ return $this->_formAjaxFileUpload($object);
}
else
{
@@ -133,6 +137,17 @@ class FormFile
$out .= ' ('.$langs->trans("UploadDisabled").')';
}
$out .= "";
+
+ if ($savingdocmask)
+ {
+ $out .= '