diff --git a/app/controllers/admin/surveys_controller.rb b/app/controllers/admin/surveys_controller.rb
index 1bef1ce..f498174 100644
--- a/app/controllers/admin/surveys_controller.rb
+++ b/app/controllers/admin/surveys_controller.rb
@@ -2,7 +2,7 @@ class Admin::SurveysController < OrbitAdminController
   include Admin::SurveysHelper
 
   before_action ->(module_app = @app_title) { set_variables module_app }
-  before_action :set_survey, only: [:edit, :destroy, :export, :set_answers, :jump, :duplicate_it]
+  before_action :set_survey, only: [:edit, :destroy, :export, :set_answers, :jump, :duplicate_it, :answer_sets]
 
   def initialize
     super
@@ -24,6 +24,17 @@ class Admin::SurveysController < OrbitAdminController
     end
   end
 
+  def answer_sets
+    @table_fields = ['survey.taken_by', 'survey.taken_date']
+    @survey_answers = @survey.survey_answers.desc(:created_at).page(params[:page]).per(15)
+  end
+
+  def answer_set
+    @survey_answer = SurveyAnswer.find(params["id"]) rescue nil
+    @survey = @survey_answer.questionnaire_survey if !@survey_answer.nil?
+    @user = @survey_answer.user.nil? ? nil : (User.find(@survey_answer.user) rescue nil)
+  end
+
   def new
     @survey = QuestionnaireSurvey.new
     @primary_locale = I18n.locale.to_s
diff --git a/app/controllers/surveys_controller.rb b/app/controllers/surveys_controller.rb
index 5a11136..6a77fae 100644
--- a/app/controllers/surveys_controller.rb
+++ b/app/controllers/surveys_controller.rb
@@ -91,6 +91,7 @@ class SurveysController < ApplicationController
    
     answer = params[:answer]
     @answer_model = @survey.survey_answers.new
+    @answer_model.user = current_user.id if !current_user.nil?
     @survey.survey_questions.each do |question|
       qid = question.id.to_s
       if question.is_required && answer[qid].blank? && !@survey.jump_mode #&& (! @survey.jump_mode || ( @survey.jump_mode && question.jumpable? ) )
diff --git a/app/models/questionnaire_survey.rb b/app/models/questionnaire_survey.rb
index f04fa8c..d906ba2 100644
--- a/app/models/questionnaire_survey.rb
+++ b/app/models/questionnaire_survey.rb
@@ -21,6 +21,7 @@ class QuestionnaireSurvey
   field :deadline, :type => DateTime
 
   field :is_hidden, :type => Boolean, :default => false
+  field :needs_login, :type => Boolean, :default => false
 
   field :result_type, :type => Integer, :default => 0
   field :extern_link
diff --git a/app/models/survey_answer.rb b/app/models/survey_answer.rb
index 794f7c2..e032ce0 100644
--- a/app/models/survey_answer.rb
+++ b/app/models/survey_answer.rb
@@ -2,6 +2,8 @@ class SurveyAnswer
   include Mongoid::Document
   include Mongoid::Timestamps
 
+  field :user, type: BSON::ObjectId
+
   belongs_to :questionnaire_survey
 
 end
\ No newline at end of file
diff --git a/app/views/admin/surveys/_form.html.erb b/app/views/admin/surveys/_form.html.erb
index 379c199..b214ace 100644
--- a/app/views/admin/surveys/_form.html.erb
+++ b/app/views/admin/surveys/_form.html.erb
@@ -69,16 +69,25 @@
       
         
         
-         <%= f.datetime_picker :postdate, :no_label => true %>
+         <%= f.datetime_picker :postdate, :value => @survey.postdate, :new_record => @survey.new_record? %>
         
        
       
        
         
         
-         <%= f.datetime_picker :deadline, :no_label => true %>
+         <%= f.datetime_picker :deadline, :value => @survey.deadline, :new_record => @survey.new_record?  %>
         
        
+       
+        
+          <%= f.label :needs_login, t("survey.needs_login"), :class=>"control-label muted" %>
+          
+            
+          
+        
 
 
        
         
diff --git a/app/views/admin/surveys/_index.html.erb b/app/views/admin/surveys/_index.html.erb
index 21b7974..19e4135 100644
--- a/app/views/admin/surveys/_index.html.erb
+++ b/app/views/admin/surveys/_index.html.erb
@@ -39,7 +39,13 @@
         
         
<%= (survey.postdate) ? (format_value survey.postdate) : t(:no_deadline) %> | 
         <%= (survey.deadline) ? (format_value survey.deadline) : t(:no_deadline) %> | 
-        
<%= survey.survey_answers.count %> | 
+        
+          <% if survey.needs_login %>
+              <%= survey.survey_answers.count %>
+          <% else %>
+            <%= survey.survey_answers.count %>
+          <% end %>
+         | 
         <%= survey.update_user.user_name rescue ''%> | 
       
     <% end %>
diff --git a/app/views/admin/surveys/answer_set.html.erb b/app/views/admin/surveys/answer_set.html.erb
new file mode 100644
index 0000000..68f5ddd
--- /dev/null
+++ b/app/views/admin/surveys/answer_set.html.erb
@@ -0,0 +1,101 @@
+<% content_for :page_specific_css do %>
+	
+<% end %>
+
+
+	
+		
<%= @survey.title %>
+		<% if !@user.nil? %>
+			<%= @user.name %>
+		<% end %>
+	
+	
+	<% @survey.survey_questions.each_with_index do |sq, index| %>
+		
+			
+				Q<%= (index + 1).to_s %> <%= sq.title %>
+			
+			
 
+				
A 
+				 <% case sq.type %>
+        			<% when SurveyQuestion::Radio, SurveyQuestion::Select %>
+        				<%= @survey_answer[sq.id.to_s] rescue "" %>
+					<% when SurveyQuestion::Check %>
+						<%= @survey_answer[sq.id.to_s].join(", ") rescue ""  %>
+ 					<% when SurveyQuestion::Radiogroup %>
+ 						
+ 						<% sq.survey_question_options.each do |sqo| %>
+ 							<% if !@survey_answer[sq.id.to_s].nil? %>
+ 								<%= sqo.name %> : <%= @survey_answer[sq.id.to_s][sqo.id.to_s] %> 
+ 							<% end %>
+ 						<% end %>
+ 						
+					<% when SurveyQuestion::Oneline, SurveyQuestion::Multiline %>
+						<%= @survey_answer[sq.id.to_s] rescue "" %> 
+				<% end %>
+			
+		
+	<% end %>
+	
+	
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/views/admin/surveys/answer_sets.html.erb b/app/views/admin/surveys/answer_sets.html.erb
new file mode 100644
index 0000000..027f2a8
--- /dev/null
+++ b/app/views/admin/surveys/answer_sets.html.erb
@@ -0,0 +1,30 @@
+
<%= @survey.title %>
+
+  
+    
+  
+  
+  <% @survey_answers.each do |sa| %>
+  	
+  	<% user = sa.user.nil? ? nil : (User.find(sa.user) rescue nil) %>
+  	<% if !user.nil? %>
+		| <%= user.name %> | 
+  	<% else %>
+  		  | 
+  	<% end %>
+  	<%= sa.created_at.strftime("%y-%M-%d %h:%m") rescue nil %> | 
+  	<%= t("survey.view_answers") %> | 
+  	
+  <% end %>
+  
+  
+  <%=
+  content_tag :div, class: "bottomnav clearfix" do
+    content_tag :div, paginate(@survey_answers), class: "pagination pagination-centered"
+  end
+%>
\ No newline at end of file
diff --git a/app/views/surveys/show.html.erb b/app/views/surveys/show.html.erb
index 4dbaaf6..d64549b 100644
--- a/app/views/surveys/show.html.erb
+++ b/app/views/surveys/show.html.erb
@@ -11,6 +11,13 @@
 %>
 
 
+<% if @survey.needs_login && current_user.nil?  %>
+	
+<% end %>
+
+
 <% if !@redirect_url.blank? %>