That would be a great feature if buyers could add positive/negative feedback to sellers account after order status has been changed to "complete".

I was googling a little bit and couldn't find anything regarding this functionality.

I'm not sure how would that exactly work, but would that be difficult to implement?

CommentFileSizeAuthor
#34 mp_feedback_modules.zip10.13 KBgmaximus

Comments

Plazmus’s picture

Is there anyone who would like to write module or integrate this functionality into marketplace module for reasonable price?
Maybe others interested in this could also fund the work.

syndicateStorm’s picture

Nothing is out there for Marketplace. Have you seen any modules for rating users in general? It seems like there should be? If so it might not be too hard to link it up with the "complete" status.

Plazmus’s picture

There are loads of rating modules, "Vote Up/Down" would be ok if there was a textfield, so user could leave a short comment. Node feedback looks interesting, but the problem is how to make it work with orders?

Buyer should be allowed to post a feedback on seller's profile only for orders he placed, I don't think I have enough skills to accomplish it.

Plazmus’s picture

I will need some help. I decided to go with Fivestar + Fivestar comments + Content Profile modules + a custom module (below) to make it work.

The idea is to use ubercart order statuses to check if user can leave a comment. Status "payment_received" means that user can leave a comment on seller's profile who's id is linked to that order, when user will leave the comment then order status will change to "completed" and comment form will be unset, so user won't be able to post any more comments.
That might be not the best, but at the moment the only solution that I came up with (I am not a developer).

However I have a problem with correct UPDATE query which will set order status to completed. I can't limit query to 1 and can't use ORDER BY.

/**
* Implementation of hook_form_alter().
*/
function mp_feedback_form_comment_form_alter(&$form, &$form_state) {

  $nid = $form['nid']['#value'];
  $node = node_load(array('nid' => $nid));
   if ($node->type == 'profile') {
    if (!mp_feedback_active_orders($node->uid)) {
         unset ($form['fivestar_rating']);
         unset ($form['comment_filter']);
         unset ($form['submit']);
         unset ($form['form_build_id']);
         unset ($form['form_id']);
         unset ($form['form_token']);
    }
   }
}

/**
* Determine if a user is allowed to post another comment.
*
* @param $nodeuid
*   A node author id.
* @return boolean
*   TRUE, if a user isn't allowed to post another comment.
*/
function mp_feedback_active_orders($nodeuid) {
  global $user;
  if ($user->uid && $user->uid !== $nodeuid) {
    $num_comments = db_result(db_query("SELECT COUNT(*) FROM {mp_seller_order_statuses} as mp LEFT JOIN {uc_orders} as uc ON mp.order_id = uc.order_id WHERE mp.uid = %d AND uc.uid = %d AND uc.order_status = 'payment_received'", $nodeuid, $user->uid));
  }
  return $num_comments > 0;
}

/**
 * Implementation of hook_comment().
 * Change order status to completed
 */

function mp_feedback_comment(&$comment, $op) {
  if (is_array($comment) && is_numeric($comment['nid'])) {
    $nid = $comment['nid'];
  }
  elseif (is_array($comment) && is_array($comment['nid']) && is_numeric($comment['nid']['#value'])) {
    $nid = $comment['nid']['#value'];
  }
  elseif (is_object($comment) && is_numeric($comment->nid)) {
    $nid = $comment->nid;
  }

  if (isset($nid)) {
    $node = node_load($nid);
  }
  if ($node->type == 'profile') {
   switch ($op) {
     case 'insert':
      global $user;
        db_query("UPDATE {uc_orders} as uc LEFT JOIN {mp_seller_order_statuses} as mp ON uc.order_id = mp.order_id SET uc.order_status = 'completed' WHERE uc.uid = %d AND mp.uid = %d AND uc.order_status = 'payment_received' ORDER BY uc.order_id ASC LIMIT 1", $user->uid, $node->uid);
     break;
       }
   }
}

Any feedback?

BeaPower’s picture

Id like to know how to do this too...

fehin’s picture

You can use Content profile, Views, Comments, and Ratings to do this.

Stomper’s picture

A suggestion for the module.

Would it possible to have a "pending" value that would display the number of completed transactions that have not yet received feedback. This would be helpful for new sellers who do not have many completed transactions with feedback.

____________________________
- Seller Name -
____________________________

* 3 Positive feedback
* 0 Negative feedback
* 2 Pending feedback

5 total transactions

____________________________

gregoiresan’s picture

subscribing

Stomper’s picture

Just an idea, but perhaps a simple way to implement this would be via a custom feedback CCK content type which includes node and user references. I suppose one could use rules or something that would only allow access to the form after the transaction is "completed" or electronic payment has been made.

I am not sure whether it is possible to use node references and user references that are reciprocal in nature. So the seller's feedback form in order to review the buyer would have the node reference of the product purchased and the user reference would be the buyer. While the buyer's feedback form in order to review the seller would have the node reference of the product purchased and the user reference would be the seller.

I think this could work, but am unsure whether it is possible or the best way to do it. Accommodations also need to be made for user's who different custom product classes. Some feedback fields may be relevant to only certain product classes.

I am surprised there hasn't been any feedback options developed yet, one would think it would be fundamental for a e-commerce application, especially a marketplace one.

Feedback appreciated

artbussy’s picture

Subscribe.
A must for e-commerce websites these days.

Stomper’s picture

Agreed, especially for a marketplace application where sellers and buyers rely on trust established by user reviews/feedback etc.

kenorb’s picture

+1

g.k’s picture

subscribing

Strykerraven’s picture

subscribing

Nirina’s picture

Hi!

I can contribute funds to support this work. I have a feedback content type that I want to make it work with orders:
-display the "leave feedback" link on user/%/orders page next to each items purchased after order status have been changed to "shipped".
- after submitting the feedback, the link disappear and the order status become "completed".
- autoreference the product purchased and the seller (content) profile.

If someone can develop this feature... contact me!
Thanks! ;o)

Stomper’s picture

Nirina, what you're looking for is similar to what I need.

Some other features I'd like to see is permissions that require logging in before being able to see feedback. Additionally, the feedback should have some form of ranking system such as "five stars" that are then fed to "computed field" that displays a percentage of positive vs. negative feedback.

The feedback calculation should also factor in "pending" values so that if a new user has several transactions but only received feedback from only a fifth of the transactions, the transactions that have not yet received transactions should be displayed.

Stomper’s picture

Update?

Stomper’s picture

Another function that should be supported is the time limit that buyers/sellers have to post feedback. I feel a good start would be to use the formula of "seller specified return policy period plus 7 days."

I think this would only work if there is a "return policy period" field in the node creation form, so that the seller can specify a time period and then the value would be automatically used to generate the "you have XX days to provide feedback" message and limit.

Doable?

What is the status on this module?

Are there any modules that we can use to get feedback functionality. Fivestar module would be a good start for ratings of different aspects - communication, speed, shipping fees, etc.

Feedback should be displayed as another tab in the user's profile. It should show feedback given and feedback received.

diohej’s picture

somebody done this module? I pay for it

Stomper’s picture

I don't think anyone has started work on it. I wish I could. What features are you looking for, diohej?

diohej’s picture

Hi Stomper, like sellers feedback as on eBay, after transaction.

ocamp’s picture

anything done on this yet?

Stomper’s picture

not that i know of, what features are you looking for by the way?

ocamp’s picture

IMO i think this is an important feature within a marketplace.

a user to user feedback system similar to ebay is pretty much what buyers look at when buying from marketplces, if they cant trust the person they are buying from why will they use my website.

Alls that is needed is just a page, like one node per user. The nodes called feedback, and other users can leave comments on the node.

The only restrictions is the user can only make one comment if theyve bought or sold from the user there commenting on.

Besides above, the only features the module would need to add to the feeback page is maybe a link to the product the user is leaving feedback on, and someway of notifying the user they need to leave feedback once theyve bought or sold an item.

If comments are being used as feedback then all other contrib modules would handle all the rest such as voting/rating, flags or taxonomy to add feedback catagories and views to add filters.

Stomper’s picture

Anyone know of a straightfoward way to achieve some or all of this functionality using modules? I'm thinking Views, CCK, and Rules.

gmaximus’s picture

Has anybody found a solution by any chance.... I'm looking for something to use with Marketplace too...

gmaximus’s picture

Hi,

I've successfully created created a nice feedback system for marketplace. I can't see where i upload files, so you can get them from my link. I only got my head around the basics of php a few weeks ago, so i'm sure there are better ways of achieving this but hey!

The features of these modules.

1) Feedbacks per seller > per order.
2) 5 Point feedback system (dispatch, product description, communication, value for money and overall experience), with space for general feedback.
3) Block to place on the buyers "Orders" tab for "Purchases awaiting feedback". It will display orders where seller has indicated they have "completed" their part of the order. They will be able to leave one feedback per seller > per order.
4) "Sellers feedback" tab on the sellers user account. It also displays their average rating out of 10.
5) "Feedback left as a buyer" tab on the buyers account.

Here are some screenshots...

It is very important to read the provided readme.txt file within mp_feedback. It has very important installation instructions and lists the dependencies.

Anybody that would like to throw me a drink to say thanks go to http://onlinebusinessbuilders.co.uk, there is a donate button there ;)

Enjoy!!

Update: Found the upload files section. So a updated copy of the module is available in a comment below...

gmaximus’s picture

The method i've used to give this to you, is the best i know... I would enjoy any help to build the included "feature" module into the mp_feedback module... but it works in the mean time...

gmaximus’s picture

Assigned: Unassigned » gmaximus
Issue summary: View changes
Status: Active » Needs work
viktor141’s picture

Hello!
gMaximus, this is just GREAT module!
But, one problem with compatibility: it isn't work on Drupal 7.
Can you fix it, please?? It That would indeed be very cool!!!
Sincerely, Vik.

gmaximus’s picture

Hello Vik ...

The problem is, I don't use Drupal 7 because I rely on code or modules that are only available for Drupal 6 in my project.... So personally I would have the learning curve of writing the blocks for Drupal 7 and using it for that matter. Tbh, I've only just started to get my head around writing PHP, so everything requires research for me...

Unfortunately sir I don't have the spare time as I need to eat and desperately get my project out of the starting blocks ;) I could also really do with some cash, if you wanted to sponsor it though... Just putting it out there...

That said, looking at the code I wrote, all it does is run sql and display the data in some blocks. So for someone familiar with the Drupal 7 way of doing things and the database structure, it shouldn't be too difficult or time consuming to re-write...

The "Features module" is just configuration settings in code (my understanding is that this way's more performant too)... It is a content type definition and some views to memory... So again quite straight forward to re-do...

Hope this helps...

Kind regards,
Guy

viktor141’s picture

I don't have much money now, but how much you need to develop it?

Sincerely, Vik.

gmaximus’s picture

Hi...

I know the feeling unfortunately, regarding the unwanted bank balance... Always too much month left at the end of my money...

I have a figure of £100 in mind... If you're interested. I'd want to go and thoroughly check that all the modules I've used have a Drupal 7 version... If they don't, I may have to decline... :) The only code I'd want to be doing is re-writing those blocks/sql really... I think there was also some php within the views too, that shouldn't be a problem. Obviously, I'd create the "feature module" too but that is point and click for the most part...

Let me know...

Regards,

Guy

gmaximus’s picture

StatusFileSize
new10.13 KB

Here is an updated version of the module... I haven't got time to test it, so let me know if it works. Just delete the original mp_feedback module and drop this updated module in there...

shamil.f’s picture

Hi. This modules seems really nice but no Drupal 7 version yet?

searchweb’s picture

Any update instruction for the install the module? It's seem the new modules different with previous version.

smurferboy’s picture

+1: Seems like a drupal 7 port becomes more and more relevant as most sites use drupal 7 right now and it still is a very important feature in a marketplace site. I do want to chip in some money for a port. Let us know what it needs to cost and everyone interested can chip in something too...

gmaximus’s picture

Sorry everyone for the delay, I've been snowed under with work.

#35 I can't use Drupal 7 for my marketplace due to the Drupal 6 module dependencies. This is why I haven't learnt Drupal 7.

#36 It is just a case of dropping them in place of the old ones....

#37 My approach was to make use of existing modules. Most of the code I posted is just a Feature module containing the feedback content type, Views and Rules. You could re-produce the bulk of it by re-producing the content type, views and rules that the D6 version I posted has. Then using the Features module, bundle those settings together and you've done the bulk of it. The last thing is the custom blocks, that do need to be re-written. So is anyone prepared to do the D7 feature module? Does anyone have a pre-configured copy of a D7 Marketplace I can have? The answers to those questions will effect the price.

I've researched the modules i used and they all seem to have D7 versions...

drupal_online_user’s picture

Hi, I am a Drupal first timer and am trying to get mp_feedback_module to work with Drupal 6 (6.36) but am running into problems.

I was wondering could somebody help me with step 4. of the Readme install file:

Edit the configured argument by going to the "validator" and select the roles of your sellers.

?

I went to /build/views/edit/mp_feedbacks but see so many boxes I am not sure which to set what?

astoker88’s picture

I'm going to build this in d7 this week . Any requests let me know !

diffenn’s picture

Hej. Did you finish this to d7?

avpaderno’s picture

Assigned: gmaximus » Unassigned
Status: Needs work » Closed (outdated)

I am closing this issue, which is for a Drupal version that isn't supported.