Advance Currency Converter
This module was created for currency conversion. In this module we can select the
multiple currency which we are used in our websites. It provide a currency conversion
block.
Features
- Any currency can be enabled or disabled.
- We can select the Google Finance API or database to convert the currency.
- If we use Database so you can get the graph of the currency trends.
Project link:
https://www.drupal.org/project/advance_currency_converter
Project Git url:
git clone --branch 8.x-1.x https://git.drupal.org/project/advance_currency_converter.git
If you select the Database option from the advance currency converter configuration then you will have to run the /admin/config/system/cron manually once for instance currency converter otherwise when the cron will run it automatically store the data, the graph will properly only shown when the database have the minimum two days data in table.
Comments
Comment #2
ShekharPaatni commentedComment #3
PA robot commentedWe 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.
Comment #4
arshadkhan35 commentedAutomated Review
Minor suggestion from automation review :
Manual Review
Individual user account
[Yes: Follows ]
No duplication
No
Master Branch
No
Licensing
Yes
3rd party assets/code
Yes Follows.
README.txt/README.md
Yes Follows.
Code long/complex enough for review
Yes
Secure code
Yes
Coding style & Drupal API usage
Comment #5
arshadkhan35 commentedComment #6
ShekharPaatni commentedComment #7
ShekharPaatni commentedThanks for reviewing the module arshadkhan35.
Module package name is 'custom' issue now fixed and Git default branch set.
Comment #8
ShekharPaatni commentedComment #9
vishnusoniskr commentedHi ShekharPaatni,
Thanks for contrib this module, I have found the issue which is as below
1. Whenever I am trying to enable this module using Drush then below error is appearing in my command line.
2. In this file "advance_currency_converter.install" you have used this function "file_get_contents" of php so I think sometimes this function gives the error at the time of fetching data, so replace this function by drupal client "\Drupal::httpClient()".
Comment #10
ShekharPaatni commentedHi vishnusoniskr,
Thank you for giving your precious time to look into the module and share your valuable feedback. As you mentioned the warning and changes of the code has been done by our end. We would like you to review the module once again, So we can able to achieve the bug free module for drupal community.
Comment #11
pranavgupta commented1. Conversion value and graph is not coming it is always show . and blank graph.
2. Needs to work on Database::getConnection() services on controller.
3. It also allows to save one currency on the configurations which by default should be two.
Comment #12
ShekharPaatni commentedHi pranavgupta,
Thank you for giving your precious time to look into the module and share your valuable feedback. Now the issue is fixed and module is working properly and i would like to inform you the graph will only display if you have 2 days of data in database. Rest of the issue now fixed please give your valuable time once again and help us to reach at bug free module. Thanks in advance.
Comment #13
narendrarHi Shekhar,
Your module seems good to me.
I found one issue:
While saving few currencies to display, it's not reflected in the frontend.
Following are some suggestions:
1. Update Readme.md
2. Add a help page
3. Add a permission page
4. Add a message for user to run cron, while selecting 'Data offline handling'
5. Give user option to select number of days to keep data, in case of offline access.
Comment #14
narendrarComment #15
sharma.amitt16 commentedManual Review
1) In src/Form/CurrencySettings.php
Line no 129: t() calls should be avoided in classes, use dependency injection and $this->t() instead.
2) After saving the configuration form, it redirects to /admin/config/system/currency but "page not found" error generated for first time.
3) On currency conversion block, after clicking convert button it shows the message "Converting wait" but nothing happens. No result or converted currency is available on front end.
Comment #16
ShekharPaatni commentedHi sharma.amitt16,
Please update your code and check. I have checked the issue which you have mentioned, it is working on multiple systems.
Please check and revert me if any issue persists. Thanks for giving your valuable feedback.
Comment #17
ShekharPaatni commentedHi NarendraR,
Thank you for sharing your valuable feedback and suggestion for the new features. We have resolved all the issue and added a new features.
Please look into the module once again and help us to get it fix the module.
Comment #18
ShekharPaatni commentedHi All,
Requesting you all to download the latest code once again. Please raise a bug if you found.
Comment #19
narendrarHi Shekhar,
Your module looks good to me and it is working on my machine, hence making it RTBC
Comment #20
hestenetSince this is RTBC, I'm marking fixed - I have granted @ShekharPaatni the git vetted role - you may now edit your project page to opt this project(and your future projects) into the security advisory coverage process.
Comment #21
dman commentedUser test
README and Project page - very clear about what this does, why you'd want it, and how to set it up in the beginning. Excellent.
There are some significant English syntax problems throughout the help text etc, and this needs work before tagging a stable release, but no project blockers.
The name of the project itself was probably intended to be "Advanced Currency Converter" (not "advance", which doesn't make sense). It's also unclear what makes it 'advanced' when comparing it to the earlier module 'currency_converter' that appears to offer more options.
Things seemed to work as promised. The block worked, the request happened and the AJAX refreshed. Pretty cool.
(I had some install problems on Acquia Dev Desktop today, but I debugged it to an unrelated cURL SSL certificate issue)
I was not able to test the graph today, due to more data being needed..
Meta
From a project management point of view, I would be looking for a bit more explanation of a few things that are relevant to support, accuracy, performance and security - like:
* This module calls in the third-party javascript library d3 from an external CDN.
* The currency conversion rates are provided by Google Finance using the tool at https://finance.google.com/finance/converter
* There seem to be no Terms of Use or API agreement for permissions to re-use available at https://finance.google.com/finance/converter , so we don't know how much to trust it. This can be an important legal issue for some uses.
The labelling of what you call "data offline handling" is unclear. After some experimentation I figured out that it means using a "cached" rate instead of a "realtime" lookup. That's (very) useful to be supporting.
It seems that a number of things are currently hard-coded and unconfigurable by the user at the moment. The dimensions of the graph, or the text messages shown to users. User-facing text should often be configurable by site managers. This is just an improvement suggestion at this stage so not a blocker.
Code
Seems mostly well-formed and consistent with Drupal standards. Many of the comments however are redundant or tautologous.
EG:
I note that in your database schema, you have chosen to store both price and date as 'varchar'
Had you considered reasons not to use FLOAT and DATETIME there?
Project application
There seem to be plenty of existing modules in this space already.
https://www.drupal.org/project/currency
https://www.drupal.org/project/currency_converter
https://www.drupal.org/project/google_currency_converter
especially appears to provide exactly the same functionality in the same way.
It's clear you would have seen these other projects when choosing a namespace for your module.
Can you describe what makes yours different or necessary, and (if there are any advantages at all) why you chose not to join forces and improve that existing one instead of competing with it?