The Publish button module inserts a publish button on the node add/edit page. The Publish button helps to simplify editorial workflow. The button also works with ctools, and can be added anywhere on the edit page.

Publish button per content type

After installation the default setting for all content types is to not have a publish button. To add a publish button, edit a content type, and in group Publishing options, check the checkbox, "Use publish/unpublish button for this content type", and save.
(screen shot)

Permissions

Publish button uses its own permissions to determine which node types different users could publish or unpublish.
(screen shot)

Views

Views 3.x are supported. To insert a publish button in a View, choose to show Fields in Format settings. Then in Fields, add a new field, Content: Publish button. If you are allowed to publish or unpublish the content, you now have an unpublish/publish button in the list of fields.