View application_controller.rb
def permission_denied
@page_args[:title] = "Permission Denied"
@body = "You are not allowed to view the page you have requested. If you believe you should have been able to view that page, please use the contact information in the footer to report this problem."
render 'system/errors', status: 403
from django.conf import settings
class DefaultDatabaseRouter(object):
def db_for_read(self, model, **hints):
This is the fall through. If the table isn't found in mk_web_core, it must be here.
if model._meta.app_label in ['accounts', 'materials',]:
return 'mk_web_core'
class FooSerializer(rest_serializers.ModelSerializer):
class Meta:
model = MultipleChoiceQuestion
fields = ('id', 'model_name', 'title', 'student_answer_url', 'block_state', 'ready_preview', )
def validate(self, data):
'''Mostly this just shovels data from the request into validated_data. '''
errors = {}
print('in validate initial data is: ', type(self.initial_data))
last_answer = StudentNumericAnswer.objects.filter(numeric_question=question_id,'updated_at').last()
if request.method == 'GET':
if not last_answer:
return Response(status=status.HTTP_404_NOT_FOUND)
data = StudentNumericAnswerSerializer(last_answer, context={'request': request}).data
# CNK cheat and add the correct answer data here for now
if last_answer.is_answer_correct or last_answer.gave_up:
data['correct_answer'] = {'correct_answer': question.correct_answer,
Starting development server at
Quit the server with CONTROL-C.
in update view
serializer not valid
{'title': ['This field may not be blank.']}
View Vagrantfile.rb
Vagrant.configure(2) do |config| = "boxcutter/ubuntu1604"
config.vm.hostname = "dev-#{ENV['USER']}" "private_network", ip: ""
config.vm.provider "virtualbox" do |vbox| = "dev-#{ENV['USER']}"
config.vm.synced_folder "./", "/srv/salt/"
config.vm.provision :salt do |salt|
View output.txt test --keepdb course_builder.multiple_choice_question.tests2
Using existing test database for alias 'default'...
<class 'dict'>
{'correct_answer': {'answer_text': '1', 'correct_answer': '/course_materials/course0/multiple_choice_answers/90/'},
'student_answer': {'is_answer_correct': True, 'answer': '/course_materials/course0/multiple_choice_answers/90/'}}
Ran 1 test in 0.417s
View output.txt
Ran 1 test in 0.412s
BUT if I change from force_authentication to the login line,
{'detail': 'CSRF Failed: CSRF cookie not set.'}
View background_image.rb
require 'RMagick'
class BackgroundImage < ActiveRecord::Base
attr_accessible :parent_id, :uploaded_data, :filename
has_one :child, :class_name => "BackgroundImage", :foreign_key => :parent_id
# You may want to pass other options to has_attachment.
# See the attachment_fu README.
has_attachment :content_type => :image,
seen = StudentMaterialIndividualization.objects.filter(student=student_id,
material__knowledge_goal=knowledge_goal) \
for item in seen:
material = MaterialVersion.objects.filter(material_key=item.material_key, version=item.version)
# I am trying to end up with a list of materials so would like to query MaterialVersion but based on restrictions from StudentMaterialIndividualization