From 4f33af33ea348f3c3fdd1451f5b4051669c14523 Mon Sep 17 00:00:00 2001
From: pancho <pancho@15425.no-reply.drupal.org>
Date: Fri, 22 Mar 2019 12:21:32 -0400
Subject: [PATCH] Issue #3039043 by Pancho, BramDriesen, Liam Morland: Set
 'accept' attribute on PDF upload controls

---
 fillpdf.admin.inc          | 2 ++
 tests/FillPdfTestCase.test | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fillpdf.admin.inc b/fillpdf.admin.inc
index 2e82c3e..d3a4b06 100644
--- a/fillpdf.admin.inc
+++ b/fillpdf.admin.inc
@@ -186,6 +186,7 @@ function fillpdf_forms_admin($form, &$form_state) {
       '#type' => 'file',
       '#title' => 'Upload',
       '#description' => 'Upload a PDF template to create a new form',
+      '#attributes' => array('accept' => 'application/pdf'),
     );
     $form['submit'] = array(
       '#type' => 'submit',
@@ -401,6 +402,7 @@ function fillpdf_form_edit($form, &$form_state, $fid) {
     '#type' => 'file',
     '#title' => 'Update PDF template',
     '#description' => 'Update the PDF template used by this form',
+    '#attributes' => array('accept' => 'application/pdf'),
   );
   $form['pdf_info']['sample_populate'] = array(
     '#type' => 'item',
diff --git a/tests/FillPdfTestCase.test b/tests/FillPdfTestCase.test
index 01de1d7..efce95c 100644
--- a/tests/FillPdfTestCase.test
+++ b/tests/FillPdfTestCase.test
@@ -48,7 +48,7 @@ class FillPdfTestCase extends FileFieldTestCase {
     $this->drupalGet('admin/structure/fillpdf');
 
     $this->assertFieldByXPath('//input[@id="edit-upload-pdf"]', NULL, 'PDF upload component exists.');
-    $this->assertFieldByXPath('//input[@id="edit-upload-pdf"][@type="file"]', NULL, 'PDF upload component has appropriate attributes.');
+    $this->assertFieldByXPath('//input[@id="edit-upload-pdf"][@type="file"][@accept="application/pdf"]', NULL, 'PDF upload component has appropriate attributes.');
   }
 
   /**
@@ -153,7 +153,7 @@ class FillPdfTestCase extends FileFieldTestCase {
     $this->uploadTestPdf();
 
     $this->assertFieldByXPath('//input[@id="edit-upload-pdf"]', NULL, 'PDF update component exists.');
-    $this->assertFieldByXPath('//input[@id="edit-upload-pdf"][@type="file"]', NULL, 'PDF update component has appropriate attributes.');
+    $this->assertFieldByXPath('//input[@id="edit-upload-pdf"][@type="file"][@accept="application/pdf"]', NULL, 'PDF update component has appropriate attributes.');
 
     $fid = $this->getLatestFillPdfForm();
     db_update('fillpdf_forms')
-- 
GitLab