magento Enable 'free shipping' only when certain discount code used - magento-1.5

we have a discount code set-up for friends. When they use it they get 10% off. In reality many friends logically live nearby and hence ask me: why cant I also pickup the items this weekend? We do however in general not support pickup.
What we would like is the following. When the "friend discount code" is used - only known to friends - the option 'free shipping/pickup' should become available. Only in this case. (ad. We dont want to offer free shipping persé. Some friends do live far away and get it per post, but we want them to have the option to choose)
Any tips or ideas on how this could be accomplished?
[UPDATE]
I am thinking 2 solutions.
Create a second discount code that enables free shipping (and you also only tell your friends to use when they want to pickup)
Little more difficult - but does what we want: Edit files in /public_html/app/design/frontend/base/default/template/checkout/onepage/shipping_method
(are these the right ones?)
a. in loop addding shipping methods add free shipping
b. but only if variable get couponcode is value XYZ

Create a customer group for special customers
Assign those special customers to this group
Create a shopping cart price rules for %10 discount
Select the customer group that we created above from "customer groups" section
Apply necessary settings for the rule ( coupon code etc.. )
also, take the following references :
What are Shopping Cart Price Rules and how do I use them?
How to Setup Simple Customer Specific Discount Pricing

The easiest way is to
create a website on your store for friends only.
Forbid guest buy there.
Forbid open registration.
(you can forbid browsing without login)
Configure settings for website, you need.

Related

Shopware 6: Hide product for customer group

What event do I use best to hide a product from customer?
I would like to show some products only to a customer group. Normal users should not be able to see them.
I would start with subscribing the
ProductListingCriteriaEvent
this at least should allow you do filter out the products you want to hide for product listings.
I believe this still would allow to show the detail pages, so you also should hook into
ProductPageLoadedEvent
and make your customer group checks.
Last but not least, you will probably run into caching problems, i.e. the page would be cached for the normal users, and the specific customer group would get the cached results, which still do not include "their" products.
We ran into that here: Shopware 6: Changing URL parameters returns the same result in prod mode
The solution for this would probably to subscribe to the ProductListingRouteCacheKeyEvent
$event->addPart((string)($currentCustomerGroup ? 'null'));
Also you might need to take care of hiding from the search.
This problem seems to be already solved with a paid plugin (https://store.shopware.com/en/acris84338660411/block-products-for-customer-groups.html) - but in case you implement it on your own, it would be cool if you publish your solution on GitHub :-)
This seems to be available in future Shopware 6 versions as "Dynamic access" feature.

Kentico Event Calendars in multiple locations

I've been asked if the internal sales site i built can support multiple event calendars. What they would like is a calendar for each group and a global. So the global calendar will shows global and events from each group. The Group Calendars would only show their relevant events.
So i added folders to my Event node, and added some test pages. They show in the global event since it's path is ./%. Great.
For a group (Compliance), it's path is /events/compliance/%. This works, and the Compliance calendar only shows events in within the specified folder.
But.
Each event node's url is based on the global path so /event/compliance/event-1.aspx. This takes the user out of the group section and breaks the user flow. I'd like the group specific events to still apear with their URL stucture. So like this, /Our-Company/Compliance/Calendar-of-Events/event-1.aspx.
I could have the group specific events with their node, but then i loose all the vents on the global calendar. So is there a way for a single calendar to pull events from multiple locations within the tree?
You have a couple options:
Use linked pages. This would allow you to have a global location and simply have a "copy" in a different location (for navigation purposes really). Nice part is if update one of those linked pages, it updates them all so no worries about outdated content.
Categorize your events. Little more effort involved with this one but will work the same.
Set the WHERE statement to filter on the NodeAliasPath. You'd do something like this
Path = /%
Where = "NodeAliasPath LIKE '/GlobalEvents/%' OR NodeAliasPath LIKE '/Groups/Compliance/Events/%'"
3 is probably your best bet and if you want to make it more dynamic you can use macros in your where condition.
I agree with Brenden especially #2. #2 is going to give you the most flexibility and control over querying global items into multiple areas, but also gives you a single management location. We use that method on almost all of our projects and is both easy to manage but also easy to teach your content contributors how to use it the best.
The only other recommendation I would give is also include some kind of flag field where you can prioritize those items on a calendar list view. We often have a requirement that things do not only show up by date order, but also that certain calendar events take priority in sorting. Where you might not use that upfront, having that available down the road is some good forward thinking.

Netsuite: How to best make an inventory item virtual?

I have an online store where ~90% of what we sell is real, but ~10% is virtual. (software, training licenses)
Currently in our system all items are coded as "Inventory Item" because operationally on the back end there are benefits. (not sure exactly what)
Because they are inventory items, they show as out of stock and they require shipping, even though they are virtual.
Do I need to just add a custom field called "IsVirtual" and note which products are virtual explicitly, or is there a built-in mechanism for handling virtual products?
Best approach is to add those items in Netsuite as non inventory.
If you really want to keep them inventory and do not show shipping and out of stock, you got to write a SSP. Based on item attributes returned from search you can modify your code on front end to show/hide shipping and out of stock notice. Additionally when the order is created in your ssp add a logic to add dummy or a free shipping item and also a logic to add inventory.
You should make them non-inventory items for sale (unless you are reselling them).
However if you can't do that you do not need to create an SSP. All you need to do is alter the out-of-stock behavior for the item on the item setup page. You may need to tweak your item display template but you shouldn't need to unless you were already displaying stock levels on the buy page.

Requesting Advice: Categorize Account Entity

I have recently inherited a very messy Dynamics CRM system from my predecessor. I want to clean up the way our company navigates around Accounts. At the moment, there are 3 views and one form with about 2000 (exaggeration) lines of javascript code!
We categorize accounts into three types; TypeA, TypeB, TypeC. This is controlled by an Option Drop Down. Once selected, the screen hides/shows depending on it. This has meant we have a very wide AccountExtensionBase table. I am accepting I will have to live with this as I am have been led to believe that building a 1..1 extension is not as easy as it seems?
What I would like to do is change the 'Workplace -> Customer' menu on the right hand side of CRM. I'd like to add three clickable options so it would read
Customers
Accounts
TypeA
TypeB
TypeC
Contacts
Upon clicking, for example, 'TypeA' it would take the user to the 'TypeA' accounts which are filtered by a pre-defined view. Then, any request for the Account Form from this view would redirect the user to a specific 'TypeA' form, which I have yet to create.
I have read this article here Crm 2011 - How to set a default form depending on attribute value (without using Javascript)? which is a good example of how to re-direct the forms. However, I am unsure how to handle this from a 'New' request, as the drop down is not yet populated.
Is there a way of building this concept cleanly in CRM? I am finding it hard to get any decent Google results as I am unsure of what terminology I should be using.
Any help or links to suitable guides would be hugely appreciated.
Thanks.
I think these are the droids you are looking for:
http://www.powerobjects.com/blog/2013/03/08/displaying-filtered-view-in-site-map-crm-2011/
Granted it is for CRM 4, however it may work in 2011.
You might also look at:
http://mscrmtools.blogspot.com/2011/06/new-tool-sitemap-editor-for-microsoft.html

BUGZILLA - How to edit Assigned To list?

It is possible to define in bugzilla the own list with assgined to users? In out company we have a lot of customers but when the customer assigned to one product he visible on all products on "assigned to" field. Can I change my assigned to select?
Look at Security Groups - http://www.bugzilla.org/docs/4.2/en/html/groups.html
Then navigate to the group security page.
Administration -> Parameters -> Group Security
Find the setting makeproductgroups and ensure that is is On.
Next find the usevisibilitygroups setting and ensure that it is On. This setting prevents someone in group A from seeing the people in group B. This is especially important if you are letting multiple clients view and/or edit their bugs.
Finally find the strict_isolation setting and ensure it is On.
Now create your groups and assign them to products and users.

Resources