Answer Written Question #1
Rename Controller and Action

Rename SomeController to CandidatesController and #show_candidates
action to #index for a RESTful action.
Delete comments
fix indentation of nested blocks
give more descriptive names to local variables
remove extraneous semicolon
Rename permission

current_user.has_permission?('view_candidates') implies that only
users with this permission can see any candidates. However, users
without this permssion are alternatively shown a list of
candidates derived from job_contacts, instead of the user's
organization.

This commit is my best guess at an improvement in readability, but
more context on the rational behind this check would likely help
lead to a more appropriate improvement.
Extract organization candidates query.

Moving some complex code out of the controller.
Refactor OrganizationCandidatesQuery

Had lots of duplicate code and unnecessary complexity. This seems
to be clearer.
extract job contacts candidate query from CandidatesController
Refactor JobContactCandidatesQuery
Change render on Candidates Controller

Changed to render the default app/views/candidates/index.html.erb
instead of the partial, and to not pass @open_jobs and @candidates
as locals.  I kept the :layout => false for now, as without seeing
the view, I can't be sure how I would change that (either refactoring to
use the default layout, or creating a controller specific layout).
Move some_controller refactoring into own folder.
Add Written Question 2 notes
Add fon2json
Add organization/roles kata