This module allows users to send emails through Gmail server via OAuth2 authentication.

If user get access token, he will create emails on website and send them through his gmail account.

Screenshot:

oauth2 mailer

Sandbox Project Page:

https://www.drupal.org/sandbox/webcodin/2458503

Git:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/webcodin/2458503.git oauth2_mailer

PAREVIEW:
http://pareview.sh/pareview/httpgitdrupalorgsandboxwebcodin2458503git

My reviews:
#2442161-25: [D7] Manage Advertisements
#2402633-6: [D7] Swagger
#2450089-12: [D7] Restrict Page IP
#2457135-6: [D7] Advanced status report
#2458075-8: [D7] Toornament
#2457903-19: [D7] Notify log

CommentFileSizeAuthor
#11 coder-results.txt2.55 KBklausi
oauth2_mailer.jpg22.14 KBwebcodin
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

dkiiashko’s picture

Title: OAuth2 Mailer » [D7] OAuth2 Mailer
kala4ek’s picture

Status: Needs review » Needs work

oauth2_mailer.module

  • 69,70 - Looks like here should be empty string :)
  • 73 - best practice is to place a hook_menu() at the top of module file;
  • 76 - seems here placed extra spaces;
  • 111 - why do you use hook_page_alter() seems it should be a hook_page_build()
  • 159 - I suggest you to use REQUEST_TIME constant instead time()
  • 162 - for redirect to front page, you may use drupal_goto() without any args;
  • 174 - the "Drupal way" is to use drupal_exit() instead exit().

oauth2_mailer.theme.inc

  • 21 - seems it's grammar mistake in the name of $avaliable_styles var.
webcodin’s picture

Status: Needs work » Needs review

Hi kala4ek,

Thanks a lot for review. I have fixed issues suggested by you.

rajesh.vishwakarma’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools.
Check this with: http://pareview.sh/pareview/httpgitdrupalorgsandboxwebcodin2458503git

klausi’s picture

Status: Needs work » Needs review

Those issues alone are surely not application blockers, please do a real manual review.

webcodin’s picture

Thank you for your interest. I corrected issues which depend on me.

webcodin’s picture

Issue summary: View changes
Issue tags: +PAreview: review bonus
webcodin’s picture

Issue summary: View changes
webcodin’s picture

Issue summary: View changes
klausi’s picture

Assigned: Unassigned » er.pushpinderrana
Status: Needs review » Reviewed & tested by the community
FileSize
2.55 KB

Review of the 7.x-1.x branch (commit 1550a69):

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. project page: does the module send all system mails through gmail? Or only certain emails on behalf of users with a form? What is the use case for this module, why would I install it? Please also check the tips for a great project page: https://www.drupal.org/node/997024
  2. oauth2_mailer_ajax_submit_callback(): why do you have to destroy $form_state['input'] here? Please add a comment.
  3. oauth2_mailer.module: no need to call module_load_include() in the global scope here, registering the class for autoloading in the info file is enough.
  4. "'#title' => 'Address',": all user facing text must run through t() for translation. Please check all your strings.
  5. oauth2_mailer_page_build(): no need to call theme() here, just add to the render array with #theme, see https://www.drupal.org/node/930760

Although you should definitely fix those issues they are not critical application blockers, otherwise looks RTBC to me.

Assiging to er.pushpinderrand as he might have time to take a final look at this.

webcodin’s picture

Hi klausi,
Thanks for reviewing the project, I have resolved issues you have mentioned.

We have to use module_load_include() because we use namespaces in our class.

PA robot’s picture

Status: Reviewed & tested by the community » Closed (duplicate)
Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://www.drupal.org/node/2466169

Project 2: https://www.drupal.org/node/2458541

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

I'm a robot and this is an automated message from Project Applications Scraper.

webcodin’s picture

Status: Closed (duplicate) » Reviewed & tested by the community
er.pushpinderrana’s picture

Assigned: er.pushpinderrana » Unassigned
Status: Reviewed & tested by the community » Fixed

Automated Review

Best practice issues identified by pareview.sh / drupalcs / coder. Yes, few issues might be false.

Review of the 7.x-1.x branch (commit 95cf4c2):

FILE: ...rupal-7-pareview/pareview_temp/classes/mail/smtp/mailer.phpmailer.inc
---------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
---------------------------------------------------------------------------
29 | ERROR | Public method name "Oauth2MailerPHPMailer::getSMTPInstance"
| | is not in lowerCamel format
---------------------------------------------------------------------------

FILE: /var/www/drupal-7-pareview/pareview_temp/theme/mailer.css
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
1 | WARNING | File appears to be minified and cannot be processed
----------------------------------------------------------------------

FILE: /var/www/drupal-7-pareview/pareview_temp/oauth2_mailer.module
---------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
---------------------------------------------------------------------------
295 | WARNING | Do not use the raw $form_state['input'], use
| | $form_state['values'] instead where possible
---------------------------------------------------------------------------

Manual Review

You should also really have a hook_help() with some basic info about the module.

Using #attached with render arrays is preferred over drupal_add_js() and drupal_add_css().

Instead of using json_decode(), should use drupal_json_decode().

theme_oauth2_mailer_admin_settings_providers_table() : IMHO HTML id attributes should be passed through drupal_html_id(), it ensures that each passed HTML ID value only exists once on the page.

Looking at the git history at https://www.drupal.org/node/2458503/commits repeating the git commit message "code style" or short message many times does not really help your git history. See https://www.drupal.org/node/52287 on how to write meaningful messages.

That are not application blockers but otherwise looks good to me, so...

Thanks for your contribution, Kirill Tysyachnyi!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.