From 3b23cd17a28a1e14a1ae3c8bb7d16a3100889309 Mon Sep 17 00:00:00 2001
From: Frank Morgner <morgnerf@ub.uni-leipzig.de>
Date: Fri, 4 May 2018 14:14:37 +0200
Subject: [PATCH] refs #13110 * fixes serviceLocator issues at
 DocumentDeliveryService * fixes the dds form layout

---
 .../DocumentDeliveryServiceController.php     | 28 ++++++++++++-------
 .../documentdeliveryservice/form.phtml        | 17 ++++-------
 2 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/module/finc/src/finc/Controller/DocumentDeliveryServiceController.php b/module/finc/src/finc/Controller/DocumentDeliveryServiceController.php
index cbba3b18669..ae9df22bc4c 100644
--- a/module/finc/src/finc/Controller/DocumentDeliveryServiceController.php
+++ b/module/finc/src/finc/Controller/DocumentDeliveryServiceController.php
@@ -224,8 +224,7 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
         try {
             // Send Email
             $mailer = new Mailer(
-                $this->getServiceLocator()
-                    ->get('VuFind\Mailer')->getTransport()
+                $this->serviceLocator->get('VuFind\Mailer')->getTransport()
             );
             $mailer->sendTextHtml(
                 $email['to'],
@@ -460,7 +459,7 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
      */
     protected function createHttpClient()
     {
-        return $this->getServiceLocator()->get('VuFind\Http')->createClient();
+        return $this->serviceLocator->get('VuFind\Http')->createClient();
     }
 
     /**
@@ -519,7 +518,8 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
                 case 'email':
                     $this->content[$attribute] =
                         (isset($user['email']) && strlen($user['email']) > 0)
-                            ? $user['email'] : $post[$attribute];
+                            ? $user['email']
+                            : (isset($post[$attribute]) ? $post[$attribute] : '');
                     break;
                 case 'inputdepartment':
                     $this->content[$attribute] =
@@ -533,12 +533,14 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
                 case 'username':
                     $this->content[$attribute] =
                         (isset($user['username']) && strlen($user['username']) > 0)
-                            ? trim($user['username']) : trim($post[$attribute]);
+                            ? trim($user['username'])
+                            : trim(isset($post[$attribute]) ? $post[$attribute] : '');
                     break;
                 case 'userid':
                     $this->content[$attribute] =
                         (isset($user['libraryCard']) && strlen($user['libraryCard']) > 0)
-                            ? $user['libraryCard'] : $post[$attribute];
+                            ? $user['libraryCard']
+                            : (isset($post[$attribute]) ? $post[$attribute] : '');
                     break;
                 default:
                     if (!isset($this->content[$attribute])) {
@@ -922,16 +924,22 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
 
         try {
             if (false === isset($this->config['DDS']['url'])) {
-                throw new DDSException('Set of url in [DDS] DDS.ini is binding.');
+                throw new DDSException(
+                    'Set of url in [DDS] DDS.ini is binding.'
+                );
             }
             $api_url = $this->config['DDS']['url'];
             if (false === isset($this->config['DDS']['ns'])) {
-                throw new DDSException('Set of namespace ns in [DDS] DDS.ini is binding.');
+                throw new DDSException(
+                    'Set of namespace ns in [DDS] DDS.ini is binding.'
+                );
             }
             $api_ns = $this->config['DDS']['ns'];
 
             $client = $this->createHttpClient();
-            $client->setUri($api_url . DIRECTORY_SEPARATOR . $api_ns . $request_path);
+            $client->setUri(
+                $api_url . DIRECTORY_SEPARATOR . $api_ns . $request_path
+            );
             $client->setMethod($request_type);
             $client->setRawBody($data);
             $client->setHeaders(
@@ -985,7 +993,7 @@ class DocumentDeliveryServiceController extends \VuFind\Controller\AbstractBase
         if (isset($responseArray['error'])) {
             throw new DDSException(
                 $responseArray['error'],
-                $responseArray['code']
+                isset($responseArray['code']) ? $responseArray['code'] : 400
             );
         }
         return $responseArray;
diff --git a/themes/finc/templates/documentdeliveryservice/form.phtml b/themes/finc/templates/documentdeliveryservice/form.phtml
index 31c6f8bde32..b22ad14920c 100644
--- a/themes/finc/templates/documentdeliveryservice/form.phtml
+++ b/themes/finc/templates/documentdeliveryservice/form.phtml
@@ -1,5 +1,5 @@
 <!-- finc - documentdeliveryservice - form -->
-<div class="row">
+
   <div class="<?=$this->layoutClass('mainbody')?>">
     <h2><?=$this->transEsc('DDS::dds_form_headline')?></h2>
     <?=$this->flashmessages()?>
@@ -7,7 +7,6 @@
       <? if ($this->department): ?>
         <input type="hidden" name="subito[hdepartment]" value="<?=$this->department?>"/>
       <? endif; ?>
-      <fieldset>
         <legend><?=$this->transEsc("DDS::dds_form_delivery_data")?>:</legend>
         <!-- name -->
         <div class="form-group">
@@ -83,9 +82,7 @@
           <label class="inline control-label" for="smdepartment"><?=$this->transEsc("DDS::form_field_department")?>:*</label>
             <input type="text" id="smdepartment" name="subito[inputdepartment]" class="form-control" <?=(!empty($this->inputdepartment) ? 'value="' . $this->inputdepartment . '"' : '')?>/>
         </div>
-      </fieldset>
 
-      <fieldset>
         <legend><?=$this->transEsc("DDS::dds_form_details_ordered_title")?>:</legend>
         <!-- author -->
         <div class="form-group">
@@ -167,14 +164,10 @@
           <? endif; ?>
           <textarea id="sremarks" name="subito[remarks]" class="form-control"><?=(!empty($this->remarks) ? $this->remarks : '')?></textarea>
         </div>
-        <div class="form-group">
-          <div class="col-sm-9">
-            <input role="button" type="submit" class="btn btn-primary right" value="<?=$this->transEsc("DDS::form_button_submit")?>"/>
-          </div>
-        </div>
-      </fieldset>
+    <input role="button" type="submit" class="btn btn-primary" value="<?=$this->transEsc("DDS::form_button_submit")?>"/>
+
     </form>
-    <div class="subito-pg">
+  <div class="subito-pg margin-t">
       <?=$this->transEsc("DDS::dds_text_questions")?>
       <a href="mailto:info@ub.uni-leipzig.de?subject=<?=$this->transEsc("Dokumentenlieferdienst")?>">info@ub.uni-leipzig.de</a>
     </div>
@@ -190,7 +183,7 @@
         * <?=$this->transEsc("DDS::dds_text_mandatory_fields")?></p>
     </div>
   </div>
-</div>
+
 <?
 $this->inlineScript()->captureStart();
 echo <<<JS
-- 
GitLab