From 653c4dbcbe70a7698b68391f34265a3a4e49766f Mon Sep 17 00:00:00 2001
From: Rajashree Datar <rdatar@faichi.com>
Date: Tue, 8 Nov 2016 15:58:27 +0530
Subject: [PATCH] Issue #1995588-2 : Switching nid and title error free

---
 terms_of_use.admin.inc | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/terms_of_use.admin.inc b/terms_of_use.admin.inc
index b80f19a..8323a29 100644
--- a/terms_of_use.admin.inc
+++ b/terms_of_use.admin.inc
@@ -60,8 +60,13 @@ function terms_of_use_admin_settings() {
  * @see terms_of_use_admin_settings()
  */
 function terms_of_use_admin_settings_validate($form, &$form_state) {
-  if (isset($form_state['values']['terms_of_use_node_id'])) {
-    $nid = $form_state['values']['terms_of_use_node_id'];
+  // If the form submitted is for switching between title and nid, ignore
+  if ($form_state['clicked_button']['#value'] == 'I prefer to specify the node id' 
+       || $form_state['clicked_button']['#value'] == 'I prefer to provide the title of the post') return;
+  
+  // form_state values are not being updated after submit, so using input instead
+  if (isset($form_state['input']['terms_of_use_node_id'])) {
+    $nid = $form_state['input']['terms_of_use_node_id'];
     if (empty($nid)) {
       form_set_error('terms_of_use_node_id', t('You must specify a node <em>nid</em>.'));
     }
@@ -75,7 +80,7 @@ function terms_of_use_admin_settings_validate($form, &$form_state) {
       }
     }
   }
-  elseif (!empty($form_state['values']['terms_of_use_node_title'])) {
+  elseif (!empty($form_state['input']['terms_of_use_node_title'])) {
     $nid = db_select('node', 'n')
       ->fields('n', array('nid'))
       ->condition('n.title', db_like($form_state['values']['terms_of_use_node_title']), 'LIKE')
-- 
1.9.1

