Skip to main content

GSoC’17 Coding period | Week #6 | UC-Wishlist





With the conclusion of the sixth week of Google Summer of Code 2017, the Coding regime is nearly halfway through the second phase. The previous week involved some basic albeit important conceptualizations, which have been of immense help and have provided noteworthy assistance for understanding the port functionality.
As mentioned earlier, the previous week I had summarised the implementation for the third port concerning the second phase, i.e, porting ‘View/Update wishlist’ functionality. Concerning the above port the following tasks had to be considered:
  • Creating the WishlistViewForm class by implementing the​ Form &​ Module API​ s, where the forms are created using ​  $form=\Drupal::formBuilder()->getForm( )​.
  • Providing an interface defining a wish list entity by creating the class UcWishlistInterface by extending ContentEntityInterface and EntityOwnerInterface.
  • The callback: uc_wishlist_display($wid, $mode) is utilised under the function uc_wishlist_view_form to check for required permissions and private checkbox for lists:
    • Set $wid (wish list id) if it is null.
    • Check the if user is wish list owner and provide right to edit.
    • If the user is not the owner and there are no products, then show the link to search. 
    • Display the required list if user is the owner or list is not private.
  • Creating the UcWishlist.php file in order to define user entity class.
As of now, I’ve completed a significant portion of porting the the first functionality, i.e., ‘Viewing/Updating user wish list’. Moreover, the ‘Update’ functionality is integrated through the WishlistViewForm config form/class to modify any specific wish list, so that on accessing the ‘Wish list’ link the user wish list is displayed with the added products and gets the products post data and iterate them to update one by one in a specific wish list and update the information for this product in the wish list.

Regarding the fourth port, i.e., porting ‘Search Wishlist’ functionality, based on a comprehensive analysis of the same, the following work had been done the earlier week:
                   ->condition('u.name','%'.$keywords.'%','LIKE')
                   ->condition('w.title','%'.$keywords.'%','LIKE')
                   ->condition('w.address','%'.$keywords.'%',
                   'LIKE'))​​ :
                   makes three queries and returns a new DatabaseCondition.

The code for the current status of the port can be found here.

Winding up, these were the objectives and concepts learned during the third week of coding phase in GSoC’17. Hope to learn many more new concepts in the coming weeks for the successful completion of the port.

Cheers!

Comments

Popular posts from this blog

GSoC’17 Coding period | Week #2 | Drupal

Google Summer of Code 2017 has entered yet another week and with the conclusion of week 2 of the Coding Phase, things in general have become much more elaborative, as well as exciting ! The previous week was significantly noteworthy in terms of the intricacies and topics dealt with for the  objectives undertaken for the first phase. I was also able to manage time better to focus more towards my project, and the implementation in particular. In the previous blogpost , I had mentioned about the port objectives decided with regard to the first phase of the coding regime. As planned earlier, my main intent for the week was to port the functionality ‘Add administrator wish list settings’. The port of this sub-module encapsulated the completion of the following objectives: Configuring the wish list settings by administrator: This feature allows the administrator to implement crucial settings related to any wish list for authenticated users.  ...

GSoC’17 Coding period | Week #4 | Drupal

The fourth week of Google Summer of Code 2017 has come to a close, bringing forth the onset of the First Evaluation Period. The conceptualization developed during the first phase of coding have been of immense help and has provided notable assistance for the completion of the assigned ports. As I had stated in the previous blog posts, this month I had the objective of completing the following ports concerning the first phase of the coding regime: Admin wish list settings Add to wishlist  With the conclusion of week 4, I have completed the port of the administrator wish list settings as well as the ‘ Add to wishlist ’ feature as part of the second port. Also for the ‘ Add to Wishlist ’ functionality to work successfully, my next objective would be to add the functionality to view/access the user wish list, on using the button. This functionality would further be succeeded by the option to update the specific wish list, by displaying the required button ...

GSoC’17 Coding period | Week #10 | Uc Wishlist

With the conclusion of the tenth week of Google Summer of Code 2017, the coding regime is almost halfway through the third phase. Meanwhile, last week saw a stringent buildup on the concept for the remaining ports, which would aid in its gradual completion. I have maintained a detailed structure of the code for the port which can be accessed here . Focusing on the present scenario, the implementation of the 5th port ‘Email wishlist to users’ has almost reached completion. Additionally, the implementation of the last port ‘Add user wish list settings’ is underway, with a significant portion of the port to be accomplished within the coming week. Therefore, based on a comprehensive evaluation of the current status of the module, the work done previous week can be summarised as: Option to email wishlist to others: This feature would enable users or wish list owners to share any wish list with other users or potential customers by emailing it to the respe...