Display different content for anonymous and logged in users - drupal

What I need to accomplish is this:
If an anonymous user visits the site, show regular site content.
If a user logs in to the site, then user-related content appears in place of the regular content.
I would like to accomplish this using the Views module.
I have looked at the Premium module, but it seems to be abandoned. I would like to avoid using the content-access module if at all possible, since I already have other access controls in place.

If you are creating a page display for the views, you can accomplish this with view's access controls. Views will show the first available display that the user has permissions to.
Create a display for the authenticated user view
Set the page path
Set the Access restrictions (eg., by Authenticated role)
Create a display for the anonymous user view
Set the page path to the same value
Optionally restrict access to the Anonymous role (not necessary, since if views can load the authenticated display for the user it will not bother with this one, but may keep it's use clear)
Since you cannot re-order the displays in a view (yet), you must define the views in the order of most restrictive to least restrictive.
For more complex displays, you can use the Panels Pages module to render the page differently based on a user's role.
If you only want to differentiate between anonymous and authenticated users, you can specify that different content blocks are visible to each role.
On my own site, I needed to differentiate between Administrators and everyone else, so I could not use the authenticated user role to define access for individual items. Similar to Views, with Panels Pages you can define multiple variants of pages that use the same path. Administrators have access to the first variant, and all other users fall through to using the second.

You could try using the CCK content permissions and set permissions on a per field basis. Then have different fields for different content that you want to publish. I believe this is included with the CCK module.

Related

dynamically design asp.net webpage which can configured by admin users

I want to design an asp.net webpage at run-time which are configured by admin user.
Means , Admin user will define metadata of a webpage (they will define the number and type of controls user will see based on different condition).
Once the page definitions are defined by admin users the normal users will see different view of a page based on their role.
Please suggest which is the best way to address this requirement. I am using Asp.net 2010.
Thanks in advance
There's not a lot of information to go on here. Do all users see the same page? Are there groups of users who see different items? Or are the pages fully customized for each user?
I would make a database of users and fields. For example, fields could be "CanAccessFoo" and "CanAccessBar", etc. Admins would have a page where they can edit users to change these. You could implement a group as well such as "View Only" that has certain properties and assign users to that group.
Then in your page (you don't even say if you're using MVC or web pages), you would dynamically show the controls based on your model which must contain the user.
#if (Model.User.CanAccessFoo) {
#Html.EditorFor(m => m.Foo)
}

Drupal 6.x Add More Module - No end to adding more

Simple question for all of you here dealing with Drupal 6.x...
With Drupal's Add More module, is there a way to configure my webform so that there is no limit on how many of a specific fields I can add more of?
Please see my image for example:
For example, I'd like to enable the user to add as many titles as they would like. Is that doable?
Unfortunately, it's not currently possible to add unlimited "add another" functionality with webforms. And if this functionality does become a reality someday, I doubt it will be backported to the Drupal 6 version of the module. From the webform modules author (quicksketch):
there is no progress on this subject. The ability to support multiple
values requires a tremendous amount of re-architecting, including
changes to the way CSVs are generated, analysis, the database
structure, and the UI (both for administrators and users). I wouldn't
expect this feature to be added any time soon.
See this thread for more information:
http://drupal.org/node/354381
I would suggest using a node and the CCK module plus rules and views to collect this information.
Assumptions:
Anonymous users can fill out the current form
You need some way of retrieving the data that is submitted
Regular users of the site should not be able to view submissions
Very loose directions:
Create a content type and add all of the fields that your current webform contains to it. CCK has the ability to store unlimited values out of the box. On the field settings page, inside the Global Settings fieldset, select "Unlimited" for the "Number of Values" field.
Give anonymous users permission to Create [your-new-content-type] Content on the Role Permissions page.
Using the Rules module, create a new triggered rule that fires on "Content is about to be viewed" with an condition "Content has type [your-new-content-type]" and an action of redirect to homepage (or a custom error page that you created). (Note: this is a bit of a performance hit. There are better ways to restrict access to this content type, but for the sake of this tutorial, this was the easiest to explain)
Using the Views module, create a new view with Style set to Table. Add each of the fields in [your-new-content-type] in the fields section. Under "Access" choose "role" and select the role that is assigned to your user. Add a "page" display, give it a Path and save. This is the page you will use to view submissions.
Optional:
Use the Rules module to send yourself (or the submitter) an email when a node of [your-new-content-type] is created.

Searching users and showing user records in Plone

I want to implement search functionality in plone. Search depending on users , users email. Want to display user full details.
Is there any existing add on which I can use (or) I have to write my own code.
Plone does not do "users by content" by default.
User objects are not registered as content
Thus, the standard Plone search functionality does not cover users
If you wish to make users visible for everyone and searchable
There is add-on http://pypi.python.org/pypi/Products.remember/ which will turn users to content items and this serve some niche use cases
Alternatively, you can write your own search box view like Users/Group page in Site setup does
If you need members to be public on your site I would suggest take a look on Products.remember. It will also give you the ability to extend user records through Archetypes content subsystem and make them subject to workflow menu (have different states for members like disabled, registered, etc.)
http://collective-docs.readthedocs.org/en/latest/content/archetypes/index.html

Admin/Customer Roles (ASP.NET)

I'm currently working on a website that is for a restaurant. I have created everything I need to but I'm confused on one part:
I have created two roles: Admin and Customer. I have a page that displays a menu.
My main problem is, how would I display this page to the customer as a simple menu page, and how would I display this page to the admin where he would be able to edit the items within the database?
Would I need to create two different pages, one for a standard customer and one for the admin, or could it be done through the sitemap, where a link (the edit menu page) is visible/invisible based on the user who is signed in? (How would I accomplish that?)
You can write your custom code for this, as you have yourself created two roles. you can use the following steps
1) Create form authentication ticket for your roles on login and add it so that you'll be able to authenticate user/roles and write authentication rules in web.config.
2) either create two different page for admin and customer or you can use single page that renders differently based on the role, if you creates a single page make sure you should hide secure admin menu items at server side itself so that it will not be rendered and thus no change can be made at client side for security reason or just add items based on roles dynamically always.
Let me know if you need more details.

Allowing different user types registrations in Drupal 6?

I have two types of users on my site:
Normal user
Supplier
How do I set up Drupal so that you can choose which type of user you want to be before signing up, and then also (and this is the tricky part) give different profile fields to the different user types?
Consider the Auto Assign Role module. Here is a quote about it (from the module's project page):
... serves three primary purposes. The first is to provide an automatic assignment of roles when a new account is created. The second is to allow the end user the option of choosing their own role or roles when they create their account. The third is to provide paths that will trigger a specific role when an account is created. The administrator has full control over these functions and can have them working together or independently of each other. Auto Assign Role is integrated with the Content Profile module so that you can have content types serving as registration pages. You can even replace the default user/register page with a customized version of your own design.
Use the User Types module. Here is a quote about it (from the module's project page):
... gives you the power to make custom profiles for certain types of users. The core profile module must be enabled for this. It let’s you determine for which profiles a field will be active. For example: If we want a field where you can enter who’s your favorite band, you create this field and at the bottom you can choose for which user types (which you defined earlier in admin/user/user_types) this field will be active using the checkboxes. It’s that simple. It's also possible to automatically assign a role per user type.
Important: This module uses a theme override to hide profile categories which are empty for the associated user type id. Make sure to consult the documentation to copy the PHP snippet into your template.php.

Resources