コード例 #1
0
 public function test_successful_save_for_existing_item()
 {
     $q = self::factory()->question->create(array('problem_id' => 15, 'tried' => 'foo tried'));
     $question = new \WeBWorK\Server\Question($q);
     $question->set_content('foo');
     $question->set_tried('bar tried');
     $question->set_problem_id(20);
     $saved = $question->save();
     $this->assertTrue($saved);
     $new_question = new \WeBWorK\Server\Question($q);
     $this->assertSame('foo', $new_question->get_content());
     $this->assertSame('20', $new_question->get_problem_id());
     $this->assertSame('bar tried', $new_question->get_tried());
 }
コード例 #2
0
 public function create_item($request)
 {
     $params = $request->get_params();
     $problem_id = $params['problem_id'];
     $content = $params['content'];
     $tried = $params['tried'];
     $question = new \WeBWorK\Server\Question();
     $question->set_author_id(get_current_user_id());
     $question->set_content($content);
     $question->set_tried($tried);
     $question->set_problem_id($problem_id);
     if ($question->save()) {
         $retval = array('questionId' => $question->get_id(), 'content' => $question->get_content(), 'tried' => $question->get_tried(), 'authorAvatar' => $question->get_author_avatar(), 'authorName' => $question->get_author_name());
         $r = rest_ensure_response($retval);
         $r->set_status(201);
     } else {
         $r = rest_ensure_response(false);
         $r->set_status(500);
     }
     return $r;
 }