- if ($_SESSION['journal_items']->order_id == 0) {
- if (!references::is_valid($_POST['ref']))
- {
- display_error( _("You must enter a reference."));
- set_focus('ref');
- $input_error = 1;
- }
- elseif (references::exists(systypes::journal_entry(), $_POST['ref']))
- {
- display_error( _("The entered reference is already in use."));
- set_focus('ref');
- $input_error = 1;
- }
+ if (!$Refs->is_valid($_POST['ref']))
+ {
+ display_error( _("You must enter a reference."));
+ set_focus('ref');
+ $input_error = 1;
+ }
+ elseif ($Refs->exists(ST_JOURNAL, $_POST['ref']))
+ {
+ // The reference can exist already so long as it's the same as the original (when modifying)
+ if ($_POST['ref'] != $_POST['ref_original']) {
+ display_error( _("The entered reference is already in use."));
+ set_focus('ref');
+ $input_error = 1;
+ }