Merge branch '3.6' of git@github.com:Dolibarr/dolibarr.git into 3.6

This commit is contained in:
Florian HENRY 2014-09-03 11:44:37 +02:00
commit b04eae95e5
17 changed files with 380 additions and 352 deletions

View File

@ -140,9 +140,9 @@ Fix: Link product, In list view and label product.
Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to. Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to.
Fix: When disabled, all fields to add time into task line must be disabled. Fix: When disabled, all fields to add time into task line must be disabled.
Fix: Missing include files.lib.php in some pages that use dol_delete_recursive Fix: Missing include files.lib.php in some pages that use dol_delete_recursive
Fix: Missing include files.lib.php in some pages ti use dol_delete_recursive.
Fix: [ bug #1558 ] Product/service edit page title shows new Ref instead of old ref. Fix: [ bug #1558 ] Product/service edit page title shows new Ref instead of old ref.
Fix: [ bug #1553 ] Saving User displays setup removes menu. Fix: [ bug #1553 ] Saving User displays setup removes menu.
Fix: [ bug #1544 ] Can remove date from invoice
***** ChangeLog for 3.5.4 compared to 3.5.3 ***** ***** ChangeLog for 3.5.4 compared to 3.5.3 *****
Fix: Hide title of event when agenda module disabled. Fix: Hide title of event when agenda module disabled.

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2003-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2014 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Jean Heimburger <jean@tiaris.info> * Copyright (C) 2011 Jean Heimburger <jean@tiaris.info>
@ -9,7 +9,7 @@
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU *General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
@ -291,6 +291,13 @@ class Commande extends CommonOrder
} }
} }
// Set new ref and current status
if (! $error)
{
$this->ref = $num;
$this->statut = 1;
}
if (! $error) if (! $error)
{ {
// Appel des triggers // Appel des triggers
@ -301,13 +308,6 @@ class Commande extends CommonOrder
// Fin appel triggers // Fin appel triggers
} }
// Set new ref and current status
if (! $error)
{
$this->ref = $num;
$this->statut = 1;
}
if (! $error) if (! $error)
{ {
$this->db->commit(); $this->db->commit();

View File

@ -248,18 +248,23 @@ else if ($action == 'setmode' && $user->rights->facture->creer) {
dol_print_error($db, $object->error); dol_print_error($db, $object->error);
} }
else if ($action == 'setinvoicedate' && $user->rights->facture->creer) { else if ($action == 'setinvoicedate' && $user->rights->facture->creer)
{
$object->fetch($id); $object->fetch($id);
$old_date_lim_reglement = $object->date_lim_reglement; $old_date_lim_reglement = $object->date_lim_reglement;
$object->date = dol_mktime(12, 0, 0, $_POST['invoicedatemonth'], $_POST['invoicedateday'], $_POST['invoicedateyear']); $date = dol_mktime(12, 0, 0, $_POST['invoicedatemonth'], $_POST['invoicedateday'], $_POST['invoicedateyear']);
if (empty($date))
{
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors');
header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id.'&action=editinvoicedate');
exit;
}
$object->date=$date;
$new_date_lim_reglement = $object->calculate_date_lim_reglement(); $new_date_lim_reglement = $object->calculate_date_lim_reglement();
if ($new_date_lim_reglement > $old_date_lim_reglement) if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement;
$object->date_lim_reglement = $new_date_lim_reglement; if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
if ($object->date_lim_reglement < $object->date)
$object->date_lim_reglement = $object->date;
$result = $object->update($user); $result = $object->update($user);
if ($result < 0) if ($result < 0) dol_print_error($db, $object->error);
dol_print_error($db, $object->error);
} }
else if ($action == 'setconditions' && $user->rights->facture->creer) { else if ($action == 'setconditions' && $user->rights->facture->creer) {
@ -267,18 +272,14 @@ else if ($action == 'setconditions' && $user->rights->facture->creer) {
$object->cond_reglement_code = 0; // To clean property $object->cond_reglement_code = 0; // To clean property
$object->cond_reglement_id = 0; // To clean property $object->cond_reglement_id = 0; // To clean property
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
if ($result < 0) if ($result < 0) dol_print_error($db, $object->error);
dol_print_error($db, $object->error);
$old_date_lim_reglement = $object->date_lim_reglement; $old_date_lim_reglement = $object->date_lim_reglement;
$new_date_lim_reglement = $object->calculate_date_lim_reglement(); $new_date_lim_reglement = $object->calculate_date_lim_reglement();
if ($new_date_lim_reglement > $old_date_lim_reglement) if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement;
$object->date_lim_reglement = $new_date_lim_reglement; if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
if ($object->date_lim_reglement < $object->date)
$object->date_lim_reglement = $object->date;
$result = $object->update($user); $result = $object->update($user);
if ($result < 0) if ($result < 0) dol_print_error($db, $object->error);
dol_print_error($db, $object->error);
} }
else if ($action == 'setpaymentterm' && $user->rights->facture->creer) { else if ($action == 'setpaymentterm' && $user->rights->facture->creer) {
@ -1143,12 +1144,12 @@ else if ($action == 'addline' && $user->rights->facture->creer)
// We define price for product // We define price for product
if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->client->price_level)) if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->client->price_level))
{ {
$pu_ht = $prod->multiprices [$object->client->price_level]; $pu_ht = $prod->multiprices[$object->client->price_level];
$pu_ttc = $prod->multiprices_ttc [$object->client->price_level]; $pu_ttc = $prod->multiprices_ttc[$object->client->price_level];
$price_min = $prod->multiprices_min [$object->client->price_level]; $price_min = $prod->multiprices_min[$object->client->price_level];
$price_base_type = $prod->multiprices_base_type [$object->client->price_level]; $price_base_type = $prod->multiprices_base_type[$object->client->price_level];
$tva_tx=$prod->multiprices_tva_tx[$object->client->price_level]; //$tva_tx=$prod->multiprices_tva_tx[$object->client->price_level];
$tva_npr=$prod->multiprices_recuperableonly[$object->client->price_level]; //$tva_npr=$prod->multiprices_recuperableonly[$object->client->price_level];
} }
elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
{ {

View File

@ -1320,6 +1320,16 @@ if ($action == 'create')
$form->select_types_paiements(isset($_POST['mode_reglement_id'])?$_POST['mode_reglement_id']:$mode_reglement_id,'mode_reglement_id'); $form->select_types_paiements(isset($_POST['mode_reglement_id'])?$_POST['mode_reglement_id']:$mode_reglement_id,'mode_reglement_id');
print '</td></tr>'; print '</td></tr>';
// Project
if (! empty($conf->projet->enabled)) {
$formproject = new FormProjets($db);
$langs->load('projects');
print '<tr><td>' . $langs->trans('Project') . '</td><td colspan="2">';
$formproject->select_projects($soc->id, $projectid, 'projectid');
print '</td></tr>';
}
// Public note // Public note
print '<tr><td>'.$langs->trans('NotePublic').'</td>'; print '<tr><td>'.$langs->trans('NotePublic').'</td>';
print '<td>'; print '<td>';

View File

@ -23,9 +23,11 @@ ShowResourcePlanning=Show resource planning
NoResourceInDatabase=No resource in database NoResourceInDatabase=No resource in database
GotoDate=Go to date GotoDate=Go to date
ResourceElementPage=Element resources
ResourceCreatedWithSuccess=Resource successfully created ResourceCreatedWithSuccess=Resource successfully created
RessourceLineSuccessfullyDeleted=Resource line successfully deleted RessourceLineSuccessfullyDeleted=Resource line successfully deleted
RessourceLineSuccessfullyUpdated=Resource line successfully updated RessourceLineSuccessfullyUpdated=Resource line successfully updated
ResourceLinkedWithSuccess=Resource linked with success
TitleResourceCard=Resource card TitleResourceCard=Resource card
ConfirmDeleteResource=Confirm to delete this resource ConfirmDeleteResource=Confirm to delete this resource

View File

@ -2,7 +2,7 @@
MenuResourceIndex=Ressources MenuResourceIndex=Ressources
MenuResourceAdd=Nouvelle ressource MenuResourceAdd=Nouvelle ressource
MenuResourcePlanning=Planning des Ressources MenuResourcePlanning=Planning des Ressources
DeleteResource=Effacer resource DeleteResource=Effacer ressource
ConfirmDeleteResourceElement=Confirmer la suppression de la ressource pour cet élément ConfirmDeleteResourceElement=Confirmer la suppression de la ressource pour cet élément
NoResourceInDatabase=Aucune ressource en base de données. NoResourceInDatabase=Aucune ressource en base de données.
NoResourceLinked=Aucune ressource liée NoResourceLinked=Aucune ressource liée
@ -17,17 +17,19 @@ ResourceFormLabel_description=Description de la ressource
ResourcesLinkedToElement=Ressources liées à l'élément ResourcesLinkedToElement=Ressources liées à l'élément
RessourceLineSuccessfullyUpdated=Ressource mise à jour RessourceLineSuccessfullyUpdated=Ressource mise à jour
RessourceLineSuccessfullyDeleted=Resource supprimée RessourceLineSuccessfullyDeleted=Ressource supprimée
ShowResourcePlanning=Montrer le planning des ressources ShowResourcePlanning=Montrer le planning des ressources
PlanningOfAffectedResources=Planning des ressources affectées aux évènements PlanningOfAffectedResources=Planning des ressources affectées aux évènements
GotoDate=Afficher la date GotoDate=Afficher la date
ResourceElementPage=Ressources de l'élément
ResourceCreatedWithSuccess=Ressource créee avec succès ResourceCreatedWithSuccess=Ressource créee avec succès
RessourceLineSuccessfullyDeleted=Ressource supprimée avec succès RessourceLineSuccessfullyDeleted=Ressource supprimée avec succès
RessourceLineSuccessfullyUpdated=Ressource mise à jour RessourceLineSuccessfullyUpdated=Ressource mise à jour
ResourceLinkedWithSuccess=Ressource liée avec succès
TitleResourceCard=Fiche resource TitleResourceCard=Fiche ressource
ConfirmDeleteResource=Confirmer la suppression de cette ressource? ConfirmDeleteResource=Confirmer la suppression de cette ressource?
RessourceSuccessfullyDeleted=Ressource effacée avec succès RessourceSuccessfullyDeleted=Ressource effacée avec succès
DictionaryResourceType=Type de ressources DictionaryResourceType=Type de ressources

View File

@ -466,7 +466,7 @@ if (empty($reshook))
if ($result > 0) if ($result > 0)
{ {
header('Location: '.DOL_URL_ROOT.'/product/liste.php?delprod='.urlencode($object->ref)); header('Location: '.DOL_URL_ROOT.'/product/liste.php?type='.$object->type.'&delprod='.urlencode($object->ref));
exit; exit;
} }
else else

View File

@ -930,10 +930,11 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
print '<tr><td>'; print '<tr><td>';
$text = $langs->trans('MinPrice'); $text = $langs->trans('MinPrice');
print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1);
print '</td><td>';
if ($prodcustprice->price_base_type == 'TTC') { if ($prodcustprice->price_base_type == 'TTC') {
print '<td><input name="price_min" size="10" value="' . price($prodcustprice->price_min_ttc) . '">'; print '<input name="price_min" size="10" value="' . price($prodcustprice->price_min_ttc) . '">';
} else { } else {
print '<td><input name="price_min" size="10" value="' . price($prodcustprice->price_min) . '">'; print '<input name="price_min" size="10" value="' . price($prodcustprice->price_min) . '">';
} }
print '</td></tr>'; print '</td></tr>';

View File

@ -82,87 +82,5 @@ class ActionsResource
} }
} }
} }
if (in_array('element_resource',explode(':',$parameters['context'])))
{
$element_id = GETPOST('element_id','int');
$element = GETPOST('element','alpha');
$resource_type = GETPOST('resource_type');
$fk_resource = GETPOST('fk_resource');
$busy = GETPOST('busy','int');
$mandatory = GETPOST('mandatory','int');
if($action == 'add_element_resource' && !GETPOST('cancel'))
{
$objstat = fetchObjectByElement($element_id,$element);
$res = $objstat->add_element_resource($fk_resource,$resource_type,$busy,$mandatory);
if($res > 0)
{
setEventMessage($langs->trans('ResourceLinkedWithSuccess'),'mesgs');
header("Location: ".$_SERVER['PHP_SELF'].'?element='.$element.'&element_id='.$element_id);
exit;
}
else
{
setEventMessage($langs->trans('ErrorWhenLinkingResource'),'errors');
header("Location: ".$_SERVER['PHP_SELF'].'?mode=add&resource_type='.$resource_type.'&element='.$element.'&element_id='.$element_id);
exit;
}
}
// Delete a resource linked to an element
if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes')
{
$res = $object->fetch(GETPOST('id'));
if($res)
{
$result = $object->delete_resource(GETPOST('lineid'),GETPOST('element'));
if ($result >= 0)
{
setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted'));
Header("Location: ".$_SERVER['PHP_SELF']."?element=".GETPOST('element')."&element_id=".GETPOST('element_id'));
exit;
}
else {
setEventMessage($object->error,'errors');
}
}
else
{
setEventMessage($object->error,'errors');
}
}
// Update ressource
if ($action == 'update_linked_resource' && $user->rights->resource->write && !GETPOST('cancel') )
{
$res = $object->fetch_element_resource(GETPOST('lineid'));
if($res)
{
$object->busy = GETPOST('busy');
$object->mandatory = GETPOST('mandatory');
$result = $object->update_element_resource($user);
if ($result >= 0)
{
setEventMessage($langs->trans('RessourceLineSuccessfullyUpdated'));
Header("Location: ".$_SERVER['PHP_SELF']."?element=".GETPOST('element')."&element_id=".GETPOST('element_id'));
exit;
}
else {
setEventMessage($object->error,'errors');
}
}
}
}
}*/ }*/
} }

View File

@ -779,7 +779,7 @@ class Resource extends CommonObject
// Links beetween objects are stored in this table // Links beetween objects are stored in this table
$sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory';
$sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources';
$sql.= " WHERE element_id='".$element_id."' AND resource_type='".$this->element."'"; $sql.= " WHERE element_id='".$element_id."' AND element_type='".$element."'";
if($resource_type) if($resource_type)
$sql.=" AND resource_type LIKE '%".$resource_type."%'"; $sql.=" AND resource_type LIKE '%".$resource_type."%'";
$sql .= ' ORDER BY resource_type'; $sql .= ' ORDER BY resource_type';

View File

@ -57,13 +57,90 @@ if( ! $user->rights->resource->read)
$object=new Resource($db); $object=new Resource($db);
$hookmanager->initHooks(array('element_resource')); $hookmanager->initHooks(array('element_resource'));
$object->available_resources = array('resource'); $object->available_resources = array('resource');
$parameters=array('resource_id'=>$available_resources); // Get parameters
$id = GETPOST('id','int');
$action = GETPOST('action','alpha');
$mode = GETPOST('mode','alpha');
$lineid = GETPOST('lineid','int');
$element = GETPOST('element','alpha');
$element_id = GETPOST('element_id','int');
$resource_id = GETPOST('fk_resource','int');
$resource_type = GETPOST('resource_type','alpha');
$busy = GETPOST('busy','int');
$mandatory = GETPOST('mandatory','int');
if($action == 'add_element_resource' && !GETPOST('cancel'))
{
$objstat = fetchObjectByElement($element_id,$element);
$res = $objstat->add_element_resource($resource_id,$resource_type,$busy,$mandatory);
if($res > 0)
{
setEventMessage($langs->trans('ResourceLinkedWithSuccess'),'mesgs');
header("Location: ".$_SERVER['PHP_SELF'].'?element='.$element.'&element_id='.$element_id);
exit;
}
else
{
setEventMessage($langs->trans('ErrorWhenLinkingResource'),'errors');
header("Location: ".$_SERVER['PHP_SELF'].'?mode=add&resource_type='.$resource_type.'&element='.$element.'&element_id='.$element_id);
exit;
}
}
// Update ressource
if ($action == 'update_linked_resource' && $user->rights->resource->write && !GETPOST('cancel') )
{
$res = $object->fetch_element_resource($lineid);
if($res)
{
$object->busy = $busy;
$object->mandatory = $mandatory;
$result = $object->update_element_resource($user);
if ($result >= 0)
{
setEventMessage($langs->trans('RessourceLineSuccessfullyUpdated'));
Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id);
exit;
}
else {
setEventMessage($object->error,'errors');
}
}
}
// Delete a resource linked to an element
if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes')
{
$res = $object->fetch(GETPOST('id'));
if($res)
{
$result = $object->delete_resource($lineid,$element);
if ($result >= 0)
{
setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted'));
Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id);
exit;
}
else {
setEventMessage($object->error,'errors');
}
}
else
{
setEventMessage($object->error,'errors');
}
}
$parameters=array('resource_id'=>resource_id);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
$parameters=array('resource_id'=>$resource_id); $parameters=array('resource_id'=>$resource_id);
$reshook=$hookmanager->executeHooks('getElementResources',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('getElementResources',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks

View File

@ -349,10 +349,11 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
print '<tr><td>'; print '<tr><td>';
$text = $langs->trans('MinPrice'); $text = $langs->trans('MinPrice');
print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1);
print '</td><td>';
if ($prodcustprice->price_base_type == 'TTC') { if ($prodcustprice->price_base_type == 'TTC') {
print '<td><input name="price_min" size="10" value="' . price($prodcustprice->price_min_ttc) . '">'; print '<input name="price_min" size="10" value="' . price($prodcustprice->price_min_ttc) . '">';
} else { } else {
print '<td><input name="price_min" size="10" value="' . price($prodcustprice->price_min) . '">'; print '<input name="price_min" size="10" value="' . price($prodcustprice->price_min) . '">';
} }
print '</td></tr>'; print '</td></tr>';

View File

@ -586,6 +586,10 @@ div.login {
height: 16px; height: 16px;
} }
#securitycode {
min-width: 60px;
}
img.login, img.printer, img.entity { img.login, img.printer, img.entity {
margin:2px 0px 0px 0px; margin:2px 0px 0px 0px;
text-decoration:none; text-decoration:none;

View File

@ -551,6 +551,9 @@ form#login {
background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
} }
#securitycode {
min-width: 60px;
}
#img_securitycode { #img_securitycode {
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
} }

View File

@ -585,6 +585,9 @@ form#login {
background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
} }
#securitycode {
min-width: 60px;
}
#img_securitycode { #img_securitycode {
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
} }

View File

@ -657,6 +657,9 @@ form#login {
background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%);
} }
#securitycode {
min-width: 60px;
}
#img_securitycode { #img_securitycode {
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
} }

View File

@ -867,6 +867,9 @@ div#login_left, div#login_right {
table.login_table tr td table.none tr td { table.login_table tr td table.none tr td {
padding: 2px; padding: 2px;
} }
#securitycode {
min-width: 60px;
}
#img_securitycode { #img_securitycode {
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
} }