This module is an extension of drupal commerce module to provide a credit card payment method of EST Banks in Turkey. Currently this module supports one virtual pos at a time. Supported banks are Akbank, Halkbank, İş Bank, Finansbank, Kuveyttürk, Anadolubank, Denizbank, Citibank, TEB, Cardplus, IngBank.

Lint to project page: https://drupal.org/sandbox/magicleaves/2271885

Git link:

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/magicleaves/2271885.git commerce_est_direct
cd commerce_est_direct

Manual reviews of other projects
none yet.

CommentFileSizeAuthor
#20 z.png16.09 KBgisle

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.

PA robot’s picture

Status: Needs review » Closed (duplicate)
Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://drupal.org/node/2273833

Project 2: https://drupal.org/node/2273519

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.

magicleaves’s picture

Status: Closed (duplicate) » Needs review

The https://drupal.org/node/2273833 issue says only that I am not a spammer. So I opened current issue closed the https://drupal.org/node/2273833 issue.

magicleaves’s picture

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

Status: Needs review » Needs work

You need to update your Git link. What you've provided is for your use. The general link should be:

http://git.drupal.org/sandbox/magicleaves/2271885.git

Code Standards

You having a minor coding standard error:
(http://pareview.sh/pareview/httpgitdrupalorgsandboxmagicleaves2271885git)

FILE: /var/www/drupal-7-pareview/pareview_temp/commerce_est_direct.module
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
4 | ERROR | Doc comment short description must end with a full stop
--------------------------------------------------------------------------------

Manual code review

It appears that there are messages in commerce_est_direct_transaction that should be enclosed in t().

Given that the code in commerce_est_direct.module looks like a typical form callback, but in fact appears to be a callback for the commerce module, I'd prefer more details in the function definition docblock explaining what they do and how they link with the commerce module.

magicleaves’s picture

Status: Needs work » Needs review

Full stop issue fixed. paraview.sh is clean now.

Added t() for drupal_set_message fuction.

The http://git.drupal.org/sandbox/magicleaves/2271885.git URL responses 404 not found message. Should I use http://cgit.drupalcode.org/sandbox-magicleaves-2271885 instead?

mpdonadio’s picture

Issue summary: View changes

Fixed git link.

magicleaves’s picture

Thank you mpdonadio.

gisle’s picture

Status: Needs review » Needs work

Automated Review

PAReview complained about:

FILE: /var/www/drupal-7-pareview/pareview_temp/commerce_est_direct.module
--------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
--------------------------------------------------------------------------------
155 | WARNING | Only string literals should be passed to t() where possible
--------------------------------------------------------------------------------

The problem line:

drupal_set_message(t(check_plain($response_detail->getErrorMsg())), 'error');

This won't work, the t() function cannot handle a function call.
The call to check_plain should be enough.

Manual Review

Individual user account
No. It needs clarification whether this application follows the guidelines for individual user accounts.
The account is tied up to a company webpage http://magicleaves.com/ that uses the pronoun "We". However, it may well be that this is a one person company and that "We" is just marketing. But applicants need to clarify this.
No multiple applications
Yes
No duplication
Yes
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements
3rd party code
No. The library it requires is supposed to contain three files (two PHP-files and one "version.txt"), but unpacking the zip-file also unpacks something that appears to be junk for "__MACOSX" and a binary file with unknown content named ".DS_Store". I don't like having undocumented files on my site. The library is download from the OPs website, so it is also unclear whther this is third party code. If the library isn't third party code, it should IMHO be bundled with the project. See also the guidelines for 3rd party code.
README.txt
No. Navigation instructions for finding the admin interface (point 4 under INSTALLATION) is given as an URL, assuming non-clean URL. Also, navigating to the path admin/commerce/config/payment-methods after installing and enabling the module and the library did not work on my site. The information in README.txt seems inadequate for someone unfamiliar with the Commerce project. It should be said that it follows the formal guidelines for in-project documentation and the README.txt Template, but the content is not good enough.
Code long/complex enough for review
Maybe. The code stripped of comments and whitespace is 130 lines long and most of it boilerplate. However, that I think it follows the minimum guidelines for project length and complexity, but a more senior reviewer may need to make the final call on this.
Secure code
Yes. If "no", list security issues identified.
Coding style & Drupal API usage
Preliminary findings (need to get it working before doing a full review):
  • There is no hook_help(). It is good coding practice to have this hook for every enabled module.
magicleaves’s picture

  • PAReview complains fixed.
  • Magicleaves is a one person company.
  • 3rd party code. a) Undocumanted files removed from zip file. b) This module is an implementation for a integration point. I am planning to add two more module to support two more integration point for Turkish banks available in Turkey. Therefore the library part is separated from module. It is possible to bundle the library but in this case it will difficult to maintain the code. If it is not a must I prefer to have separate library for integration points.
  • README.txt fixed according to the instructions.
  • hook_help is implemented in module for Coding style & Drupal API usage
magicleaves’s picture

Status: Needs work » Needs review
gisle’s picture

Status: Needs review » Needs work
Issue tags: -PAreview: review bonus

Automated Review

The automated review of your project by PAReview has found some issues with your code. As coding standards make sure projects are coded in a consistent style we ask you to please have a look at the report and try to fix them.

Manual Review

Individual user account
Yes. Follows the guidelines for individual user accounts.
3rd party code
Yes. Follows the guidelines for 3rd party code.
README.txt
No.
One of steps under CONFIGURATION says:
 * Under the Payment Methods Administration page 
   (http://www.yoursite.com/?q=admin/commerce/config/payment-methods) 
   edit "MagicLeaves EST Direct Payment" rule.

This is an URL. the path to the admin interface is never given using an URL. You can use the path or breadcrumb (or both), but never an URL.

Code long/complex enough for review
See #10.
Secure code
Postponed (need to get it working before doing a full review).
Coding style & Drupal API usage
Preliminary findings (need to get it working before doing a full review):
    • (*) The list of dependencies fails to mention the following: entity, rules, addressfield. See: https://www.drupal.org/node/542202#dependencies
    • (*) Implementation of hook_help() does not work (refer to Drupal API to see how to do this right).
    • (*) Navigating to the path admin/commerce/config/payment-methods to configure module do not work (I am just shown the default admin page). This is clearly as bug. I am unable to configure this module, and therefore unable to complete the review.

    The starred items (*) are fairly big issues and warrant going back to Needs Work.

I am removing the PAReview: Bonus tag. As far as I have been able to tell, you have not done any manual reviews, you've just copied the output of the automatic PAReview. Please do three manual reviews before putting the tag back.

magicleaves’s picture

Issue summary: View changes
magicleaves’s picture

Status: Needs work » Needs review
  • README.txt: URL removed and breadcrumb added.
  • Coding style & Drupal API usage-1: Added some more dependencies for UI management purpose. You can check the commerce_paypal module which is written by commerce guy. I think my module has more dependencies compared to paypal which is not meaningful!
  • Coding style & Drupal API usage-2: I red the link and understand that this is not a must. So hook_help removed.
  • Coding style & Drupal API usage-3: While the UI modules are not enabled in this case you will face this problem. I added this modules as dependency so now you can visit the admin page.
grimreaper’s picture

Hello,

Thanks for this module. I have not reviewed it yet. Because I saw this https://www.drupal.org/node/1914020 commerce EST.

Duplication ? Modules with the same goal/approach ? Different architecture ?

pingwin4eg’s picture

Status: Needs review » Postponed (maintainer needs more info)

Postponed according to comment #16.

magicleaves’s picture

Status: Postponed (maintainer needs more info) » Needs review

Hello,

Thank you pingwin4eg and Grimreaper for your questions. Happy to hear something from drupal.org.

The Commerce EST module uses a external library that holds the integration part to the banks. This is mentioned as "The module is using a php class written by Ozgur Vatansever," in the https://www.drupal.org/sandbox/bekirdag/1905430 page. I wrote my own integration code to integrate the banks that supports EST virtual POS today. What is more is I was planning to add also two more banks that needs different integration coding from EST. And I was thinking to name with a different module name. But while this module's approval process stopped I stopped my development.

From a user point of view the two modules may do the same functionality but the backend and the future plan differs.

klausi’s picture

Issue summary: View changes

Removed automated review links form the issue summary, you have not done any manual review, you just posted the output of an automated review tool. Make sure to read through the source code of the other projects, as requested on the review bonus page.

gisle’s picture

StatusFileSize
new16.09 KB

Automated Review

PAReview came up almost clean (it complains about a not helpful commit message, but this is not a blocker).

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.

There is another Commerce EST project (https://www.drupal.org/node/1914020) in the application queue, but it is currently blocked by a third party code issue. While the two modules may do the same functionality but the backend and the future plan differs. IMHO, the existence of the other application should not block this from becoming a full project.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
No: Does not follow the guidelines for in-project documentation and/or the README Template.

README.txt does not match actual behaviour of module. Referring to the following in README.txt:
   From menu go to
   Store settings->Advanced store settings->Payment methods and 
   edit "MagicLeaves EST Direct Payment" rule. In here edit the 
   "Enable payment method: MagicLeaves EST Direct Payment" action with the 
   information provided from your virtual pos supplier. Click Save. 

However, "Advanced store settings" does not appear under "Store" (only "Configuration" and "Currency settings"). See attached image for screen shots.

screen shot

Code long/complex enough for review
Maybe: Follows the guidelines for project length and complexity.

The code stripped of comments and whitespace is 130 lines long and most of it boilerplate. However, I think it is long enough to make the grade regarding minimum guidelines for project length and complexity, but a more senior reviewer may need to make the final call on this.
Secure code
Postponed until README.txt is sorted out.
Coding style & Drupal API usage
Postponed until README.txt is sorted out.

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

gisle’s picture

Status: Needs review » Needs work

Changing status.

magicleaves’s picture

Status: Needs work » Closed (won't fix)

I close this issue and will not go furthermore.
Those who wants the updated module can download from http://magicleaves.com/drupal-commerce-est-direct-payment-module