Niharika29 has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/263572

Change subject: Submit updates via the job queue for PageAssessments
......................................................................

Submit updates via the job queue for PageAssessments

Bug:T121069
Change-Id: I51444fa543a75446bed3d950e166321736749c1d
---
M PageAssessmentsBody.php
A PageAssessmentsSaveJob.php
M extension.json
3 files changed, 51 insertions(+), 3 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageAssessments 
refs/changes/72/263572/1

diff --git a/PageAssessmentsBody.php b/PageAssessmentsBody.php
index 2843d2c..e37936a 100644
--- a/PageAssessmentsBody.php
+++ b/PageAssessmentsBody.php
@@ -56,10 +56,13 @@
                                'pa_page_revision' => $revisionId
                        );
                        if ( in_array( $project, $toInsert ) ) {
-                               PageAssessmentsBody::insertRecord( $values );
+                               $values['job_type'] = 'insert';
                        } elseif ( in_array( $project, $toUpdate ) ) {
-                               PageAssessmentsBody::updateRecord( $values );
+                               $values['job_type'] = 'update';
                        }
+                       $job = new PageAssessmentsSaveJob( $titleObj, $values );
+                       JobQueueGroup::singleton()->push( $job );
+
                }
                foreach ( $toDelete as $project ) {
                        PageAssessmentsBody::deleteRecord( $pageTitle, $project 
);
diff --git a/PageAssessmentsSaveJob.php b/PageAssessmentsSaveJob.php
new file mode 100644
index 0000000..5bdec02
--- /dev/null
+++ b/PageAssessmentsSaveJob.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Hooks for PageAssessments extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+class PageAssessmentsSaveJob extends Job {
+
+       public function __construct ( $title, $params ) {
+               parent::__construct( 'AssessmentSaveJob', $title, $params );
+       }
+
+       /**
+        * Execute the job
+        *
+        * @return bool
+        */
+       public function run () {
+               $jobType = $this->params['job_type'];
+               // Compile the array to be inserted to the DB
+               $values = array(
+                       'pa_page_id' => $this->params['pa_page_id'],
+                       'pa_page_name' => $this->params['pa_page_name'],
+                       'pa_page_namespace' => 
$this->params['pa_page_namespace'],
+                       'pa_project' => $this->params['pa_project'],
+                       'pa_class' => $this->params['pa_class'],
+                       'pa_importance' => $this->params['pa_importance'],
+                       'pa_page_revision' => $this->params['pa_page_revision']
+               );
+               // Perform updates
+               if ( $jobType == 'insert' ) {
+                       PageAssessmentsBody::insertRecord( $values );
+               } elseif ( $jobType == 'update' ) {
+                       PageAssessmentsBody::updateRecord( $values );
+               }
+               return true;
+       }
+
+}
diff --git a/extension.json b/extension.json
index 82e1927..0799e78 100644
--- a/extension.json
+++ b/extension.json
@@ -10,7 +10,8 @@
        "type": "parserhook",
        "AutoloadClasses": {
                "PageAssessmentsHooks": "PageAssessments.hooks.php",
-               "PageAssessmentsBody": "PageAssessmentsBody.php"
+               "PageAssessmentsBody": "PageAssessmentsBody.php",
+               "PageAssessmentsSaveJob": "PageAssessmentsSaveJob.php"
        },
        "ExtensionMessagesFiles": {
                "PageAssessmentsMagic": "PageAssessments.i18n.magic.php"
@@ -31,6 +32,9 @@
                        "i18n"
                ]
        },
+       "JobClasses": {
+               "AssessmentSaveJob": "PageAssessmentsSaveJob"
+       },
        "ResourceFileModulePaths": {
                "localBasePath": "",
                "remoteExtPath": "examples/PageAssessments"

-- 
To view, visit https://gerrit.wikimedia.org/r/263572
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I51444fa543a75446bed3d950e166321736749c1d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageAssessments
Gerrit-Branch: master
Gerrit-Owner: Niharika29 <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to