{"action":"created","comment":{"url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/comments/32256253","id":32256253,"diff_hunk":"@@ -0,0 +1,604 @@\n+from django.shortcuts import render_to_response, redirect\n+from django.template import RequestContext\n+from django import forms\n+from django.forms.models import modelformset_factory, inlineformset_factory\n+from django.forms.models import modelform_factory\n+from instructor import models\n+from instructor import compiler\n+from django.contrib.auth.models import User\n+import datetime\n+\n+from backend.models import Assignment, StudentAssignment\n+\n+\n+def courses(request):\n+    user = request.user\n+    message = ''\n+    CourseFormSet = modelformset_factory(models.Course, extra=1, fields=['name', 'code'], can_delete=True)\n+    if request.method == \"POST\":\n+        formset = CourseFormSet(request.POST)\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.owner = request.user\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/courses_new.html',\n+                              {'formset': CourseFormSet(queryset=models.Course.objects.filter(owner=user)),\n+                               'message': message},\n+                              context_instance=RequestContext(request))\n+\n+\n+def course_delete(request, pk):\n+    print \"DELETE {}\".format(pk)\n+    models.Course.objects.get(id=pk).delete()\n+    return redirect('common_course')\n+\n+\n+def get_account_type(request):\n+    account_type = ''\n+    if request.user.id and len(request.user.groups.all()) > 0:\n+        account_type = request.user.groups.all()[0].name\n+    return account_type\n+\n+\n+def assignments(request):\n+\n+    account_type = get_account_type(request)\n+    public_list = models.Assignment.objects.filter(access='Public')\n+\n+    return render_to_response('instructor/assignments.html',\n+                              {'assignments': public_list},\n+                              context_instance=RequestContext(request))\n+\n+\n+def assignments_delete(request, pk):\n+    models.Assignment.objects.get(id=pk).delete()\n+    return redirect('common_assignments')\n+\n+def create_new_assignment(request):\n+    request.session['new'] = True\n+    request.session['assignment_name'] = ''\n+    request.session['based_on'] = ''\n+    return redirect('common_assignment_setup')\n+\n+\n+def assignment_setup(request):\n+    if request.method == \"POST\":\n+        #Have to give error for empty name\n+        request.session['assignment_name'] = request.POST['name']\n+        if request.POST['based_on']:\n+            request.session['based_on'] = request.POST['based_on']\n+\n+        if 'continue' in request.POST:\n+            return redirect('common_course_setup')\n+\n+    all_assignments = models.Assignment.objects.all()\n+    return render_to_response('instructor/assignment_setup.html',\n+                              {'assignments': all_assignments,\n+                               'assignment_name': request.session['assignment_name'],\n+                               'based_on': request.session['based_on'],\n+                               'new': request.session['new']},\n+                                context_instance=RequestContext(request))\n+\n+\n+def course_setup(request):\n+    CourseForm = modelform_factory(models.Course, fields=['code', 'name'])\n+\n+    if request.method == \"POST\":\n+        if 'back' in request.POST:\n+            return redirect(\"common_assignment_setup\")\n+        elif 'course_pk' in request.POST:\n+            '''Adding to an existing course'''\n+            course = models.Course.objects.get(pk=request.POST['course_pk'])\n+        else:\n+            '''Create a new course'''\n+            user = User.objects.get(username=request.user)\n+            form = CourseForm(request.POST)\n+            course = form.save(commit=False)\n+            course.owner_id = user.id\n+            course.save()\n+\n+        '''Create a new assignment'''\n+        assignment_name = request.session['assignment_name']\n+        assignment_id = assignment_name + datetime.datetime.now().strftime(\"%I:%M%p on %B %d, %Y\")\n+\n+        if request.session['based_on']:\n+            a = models.Assignment(course=course,\n+                              name=assignment_name,\n+                              assignment_id=assignment_id,\n+                              basedOn=request.session['based_on'])\n+        else:\n+            a = models.Assignment(course=course,\n+                              name=assignment_name,\n+                              assignment_id=assignment_id)\n+        a.save()\n+        request.session['assignment_id'] = a.id\n+        request.session['new'] = False\n+\n+        if 'save' in request.POST:\n+            return redirect(\"common_course_modify\")\n+        else:\n+            '''Continue'''\n+            return redirect('common_assignments_edit_strains')\n+\n+    else:\n+        all_courses = models.Course.objects.all()\n+        form = CourseForm()\n+        return render_to_response('instructor/course_setup.html',\n+                                  {'courses': all_courses,\n+                                   'form': form,\n+                                   'new': request.session['new']},\n+                                  context_instance=RequestContext(request))\n+\n+\n+def assignments_edit(request, assignment_pk):\n+    assignment = models.Assignment.objects.get(pk=assignment_pk)\n+    if assignment.basedOn is not None:\n+        request.session['based_on'] = assignment.basedOn.id\n+    else:\n+        request.session['based_on'] = ''\n+    request.session['assignment_id'] = assignment_pk\n+\n+    request.session['new'] = False\n+\n+    return redirect('common_assignment_modify')\n+\n+\n+def assignment_modify(request):\n+    assignment_id = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(pk=assignment_id)\n+    AssignmentForm = modelform_factory(models.Assignment, fields=['name'])\n+\n+    if request.method == \"POST\":\n+\n+            form = AssignmentForm(request.POST, instance=assignment)\n+            form.save()\n+\n+    all_assignments = models.Assignment.objects.all()\n+    if 'continue' in request.POST:\n+        return redirect(\"common_course_modify\")\n+\n+    form = AssignmentForm(instance=assignment)\n+    return render_to_response('instructor/assignment_modify.html',\n+                              {'assignments': all_assignments,\n+                               'form': form,\n+                               'based_on': request.session['based_on'],\n+                               'new': request.session['new']},\n+                              context_instance=RequestContext(request))\n+\n+def course_modify(request):\n+    assignment_id = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(pk=assignment_id)\n+    CourseForm = modelform_factory(models.Course, fields=['name', 'code'])\n+\n+    if request.method == 'POST':\n+        if 'back' in request.POST:\n+            return redirect('common_assignment_modify')\n+\n+        if 'course_pk' in request.POST:\n+            '''change the course for this assignment'''\n+            new_course = models.Course.objects.get(pk=request.POST['course_pk'])\n+            assignment.course = new_course\n+            assignment.save()\n+        else:\n+            '''change this course's name or code'''\n+            form = CourseForm(request.POST, instance=assignment.course)\n+            form.save()\n+\n+        if 'continue' in request.POST:\n+            return redirect(\"common_assignments_edit_strains\")\n+\n+    all_courses = models.Course.objects.all()\n+\n+    form = CourseForm(instance=assignment.course)\n+    return render_to_response('instructor/course_setup.html',\n+                              {'courses': all_courses,\n+                               'form': form,\n+                               'new':  request.session['new']},\n+                              context_instance=RequestContext(request))\n+\n+\n+\n+def assignments_edit_meta(request):\n+    assignment_id = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(id=assignment_id)\n+    AssignmentForm = modelform_factory(models.Assignment, fields=['has_concentration', 'has_temperature',\n+                                                                  'has_start_time', 'has_duration',\n+                                                                  'has_collection_time'])\n+    message = ''\n+    if request.method == \"POST\":\n+        form = AssignmentForm(request.POST, instance=assignment)\n+        if ( form.is_valid()):\n+            message = \"Thank you\"\n+            form.save()\n+        else:\n+            message = \"Something went wrong\"\n+    else:\n+        form = AssignmentForm(instance=assignment)\n+    return render_to_response('instructor/assignment_meta.html',\n+                              {'form': form,\n+                               'message': message,\n+                               'assignment': assignment\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def assignments_edit_text(request):\n+    pk = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(id=pk)\n+    message = ''\n+    StrainsFormSet = modelformset_factory(models.AssignmentText, extra=1, fields=['title', 'text'], can_delete=True)\n+    if request.method == \"POST\":\n+        formset = StrainsFormSet(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.assignment = assignment\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/assignment_text.html',\n+                              {'formset': StrainsFormSet(\n+                                  queryset=models.AssignmentText.objects.filter(assignment=assignment)),\n+                               'message': message,\n+                               'assignment': assignment\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def assignments_edit_strains(request):\n+    pk = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(id=pk)\n+    message = ''\n+    extra_fields = 0\n+    if 'add' in request.POST:\n+        extra_fields = 1\n+\n+    StrainsFormSet = modelformset_factory(models.Strains, extra=extra_fields, fields=['name'])\n+\n+    if request.method == \"POST\":\n+        formset = StrainsFormSet(request.POST)\n+        formset.clean()\n+\n+        if formset.is_valid():\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.assignment = assignment\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+        if 'continue' in request.POST:\n+            return redirect('common_assignments_edit_protocols')\n+\n+    formset = StrainsFormSet(queryset=models.Strains.objects.filter(assignment=assignment))\n+    add_btn_num = formset.total_form_count()+1\n+    return render_to_response('instructor/strains.html',\n+                                  {'formset': formset,\n+                                   'message': message,\n+                                   'new':  request.session['new'],\n+                                   'add_btn_num': add_btn_num,\n+                                   'assignment': assignment\n+                                  },\n+                                  context_instance=RequestContext(request))\n+\n+\n+def assignments_delete_strain(request):\n+    models.Strains.objects.get(id=request.POST['pk']).delete()\n+    return redirect('common_assignments_edit_strains')\n+\n+\n+def assignments_edit_protocols(request):\n+    pk = request.session['assignment_id']\n+    assignment = models.Assignment.objects.get(id=pk)\n+    message = ''\n+    ProtocolsFormSet = modelformset_factory(models.Protocol, extra=1, can_delete=True, exclude=['assignment'])\n+    if request.method == \"POST\":\n+        formset = ProtocolsFormSet(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.assignment = assignment\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/protocols.html',\n+                              {'formset': ProtocolsFormSet(\n+                                  queryset=models.Protocol.objects.filter(assignment=assignment)),\n+                               'message': message,\n+                               'assignment': assignment\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def treatments_edit(request, assignment, protocol):\n+    a = models.Assignment.objects.get(id=assignment)\n+    p = models.Protocol.objects.get(id=protocol)\n+    message = ''\n+    treatments_set = ['treatment']\n+    if a.has_concentration:\n+        treatments_set.append('concentration')\n+        treatments_set.append('concentration_unit')\n+    if a.has_temperature:\n+        treatments_set.append('temperature')\n+    if a.has_start_time:\n+        treatments_set.append('start_time')\n+    if a.has_duration:\n+        treatments_set.append('end_time')\n+    if a.has_collection_time:\n+        treatments_set.append('collection_time')\n+\n+    TreatmentsFormSet = modelformset_factory(models.Treatments, extra=1, can_delete=True, exclude=['protocol', 'order'],\n+                                             can_order=True, fields=treatments_set)\n+    if request.method == \"POST\":\n+        formset = TreatmentsFormSet(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            for form in formset.ordered_forms:\n+                form.instance.order = form.cleaned_data['ORDER']\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.protocol = p\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/treatments.html',\n+                              {'formset': TreatmentsFormSet(\n+                                  queryset=models.Treatments.objects.filter(protocol=p).order_by('order')),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def strain_treatments_edit(request, assignment):\n+    a = models.Assignment.objects.get(id=assignment)\n+    strains = models.Strains.objects.filter(assignment=a)\n+    protocols = models.Protocol.objects.filter(assignment=a)\n+    message = ''\n+    for s in strains:\n+        for p in protocols:\n+            (sp, created) = models.StrainProtocol.objects.get_or_create(strain=s, protocol=p, assignment=a)\n+            print s, p, a, created\n+            sp.save()\n+    STFormSet = modelformset_factory(models.StrainProtocol, extra=0, exclude=['assignment', 'strain', 'protocol'])\n+    if request.method == \"POST\":\n+        formset = STFormSet(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/strain_protocols.html',\n+                              {'formset': STFormSet(\n+                                  queryset=models.StrainProtocol.objects.filter(assignment=a)),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def western_blot_edit(request, assignment):\n+    a = models.Assignment.objects.get(id=assignment)\n+    (wb, created) = models.WesternBlot.objects.get_or_create(assignment=a)\n+    WesternBlotForm = modelform_factory(models.WesternBlot, exclude=['assignment'])\n+    message = ''\n+    if request.method == \"POST\":\n+        form = WesternBlotForm(request.POST, instance=wb)\n+        if form.is_valid():\n+            message = \"Thank you\"\n+            form.save()\n+        else:\n+            message = \"Something went wrong\"\n+    else:\n+        form = WesternBlotForm(instance=wb)\n+    return render_to_response('instructor/generic_form.html',\n+                              {'form': form,\n+                               'message': message,\n+                               'assignment': a,\n+                               'title': 'Western Blot - Meta'\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def western_blot_antibody_edit(request, assignment):\n+    a = models.Assignment.objects.get(id=assignment)\n+    (wb, created) = models.WesternBlot.objects.get_or_create(assignment=a)\n+    wb.save()\n+    WesternBlotAntibodyFormset = modelformset_factory(models.WesternBlotAntibody, extra=1, can_delete=True,\n+                                                      exclude=['western_blot'])\n+    message = ''\n+    if request.method == \"POST\":\n+        formset = WesternBlotAntibodyFormset(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.western_blot = wb\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+    return render_to_response('instructor/generic_formset.html',\n+                              {'formset': WesternBlotAntibodyFormset(\n+                                  queryset=models.WesternBlotAntibody.objects.filter(western_blot=wb)),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def western_blot_antibody_band_edit(request, assignment, antibody, sp):\n+    a = models.Assignment.objects.get(id=assignment)\n+\n+    (wb, created) = models.WesternBlot.objects.get_or_create(assignment=a)\n+    wb.save()\n+\n+    (protocol, created) = models.StrainProtocol.objects.get_or_create(id=sp)\n+    protocol.save()\n+\n+    ab = models.WesternBlotAntibody.objects.get(id=antibody)\n+    WesternBlotAntibodyBandFormset = modelformset_factory(models.WesternBlotAntibodyBands, extra=1, can_delete=True,\n+                                                          exclude=['antibody', 'strain_protocol'])\n+    message = ''\n+    if request.method == \"POST\":\n+        formset = WesternBlotAntibodyBandFormset(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.antibody = ab\n+                form.strain_protocol = protocol\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+    return render_to_response('instructor/generic_formset.html',\n+                              {'formset': WesternBlotAntibodyBandFormset(\n+                                  queryset=models.WesternBlotAntibodyBands.objects.filter(antibody=ab,\n+                                                                                          strain_protocol=protocol)),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def microscopy_sample_prep(request, assignment):\n+    a = models.Assignment.objects.get(id=assignment)\n+    message = ''\n+    MicroSamplePrepFormset = modelformset_factory(models.MicroscopySamplePrep, extra=1, can_delete=True,\n+                                                  can_order=True, exclude=['assignment', 'order'])\n+    if request.method == \"POST\":\n+        formset = MicroSamplePrepFormset(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = \"Thank you\"\n+            for form in formset.ordered_forms:\n+                form.instance.order = form.cleaned_data['ORDER']\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.assignment = a\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/generic_formset.html',\n+                              {'formset': MicroSamplePrepFormset(\n+                                  queryset=models.MicroscopySamplePrep.objects.filter(assignment=assignment)),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def microscopy_images_edit(request, assignment, sample_prep, sp):\n+    a = models.Assignment.objects.get(id=assignment)\n+    sample = models.MicroscopySamplePrep.objects.get(id=sample_prep)\n+    protocol = models.StrainProtocol.objects.get(id=sp)\n+    MicroImagesFormset = modelformset_factory(models.MicroscopyImages, extra=1, can_delete=True, can_order=True,\n+                                              exclude=['sample_prep', 'strain_protocol', 'order', 'image'])\n+    message = ''\n+    if request.method == \"POST\":\n+        formset = MicroImagesFormset(request.POST)\n+        formset.clean()\n+        if ( formset.is_valid()):\n+            message = 'Thank you'\n+            for form in formset.ordered_forms:\n+                form.instance.order = form.cleaned_data['ORDER']\n+            entries = formset.save(commit=False)\n+            for form in entries:\n+                form.sample_prep = sample\n+                form.strain_protocol = protocol\n+                form.save()\n+        else:\n+            message = \"Something went wrong\"\n+\n+    return render_to_response('instructor/generic_formset.html',\n+                              {'formset': MicroImagesFormset(\n+                                  queryset=models.MicroscopyImages.objects.filter(sample_prep=sample,\n+                                                                                  strain_protocol=protocol)),\n+                               'message': message,\n+                               'assignment': a\n+                              },\n+                              context_instance=RequestContext(request))\n+\n+\n+def flowcytometry_sample_prep_edit(request, assignment):\n+    a = models.Assignment.objects.get(id=assignment)","path":"instructor/common.py","position":544,"original_position":544,"commit_id":"761d0873bc23a819c9764c63b21adf596db47747","original_commit_id":"761d0873bc23a819c9764c63b21adf596db47747","user":{"login":"carsongee","id":596029,"avatar_url":"https://avatars.githubusercontent.com/u/596029?v=3","gravatar_id":"","url":"https://api.github.com/users/carsongee","html_url":"https://github.com/carsongee","followers_url":"https://api.github.com/users/carsongee/followers","following_url":"https://api.github.com/users/carsongee/following{/other_user}","gists_url":"https://api.github.com/users/carsongee/gists{/gist_id}","starred_url":"https://api.github.com/users/carsongee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carsongee/subscriptions","organizations_url":"https://api.github.com/users/carsongee/orgs","repos_url":"https://api.github.com/users/carsongee/repos","events_url":"https://api.github.com/users/carsongee/events{/privacy}","received_events_url":"https://api.github.com/users/carsongee/received_events","type":"User","site_admin":false},"body":"name","created_at":"2015-06-11T19:06:36Z","updated_at":"2015-06-11T19:06:36Z","html_url":"https://github.com/starteam/starcellbio_html/pull/209#discussion_r32256253","pull_request_url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209","_links":{"self":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/comments/32256253"},"html":{"href":"https://github.com/starteam/starcellbio_html/pull/209#discussion_r32256253"},"pull_request":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209"}}},"pull_request":{"url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209","id":36418632,"html_url":"https://github.com/starteam/starcellbio_html/pull/209","diff_url":"https://github.com/starteam/starcellbio_html/pull/209.diff","patch_url":"https://github.com/starteam/starcellbio_html/pull/209.patch","issue_url":"https://api.github.com/repos/starteam/starcellbio_html/issues/209","number":209,"state":"open","locked":false,"title":"Feature/assignment builder 1","user":{"login":"annagav","id":7574259,"avatar_url":"https://avatars.githubusercontent.com/u/7574259?v=3","gravatar_id":"","url":"https://api.github.com/users/annagav","html_url":"https://github.com/annagav","followers_url":"https://api.github.com/users/annagav/followers","following_url":"https://api.github.com/users/annagav/following{/other_user}","gists_url":"https://api.github.com/users/annagav/gists{/gist_id}","starred_url":"https://api.github.com/users/annagav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annagav/subscriptions","organizations_url":"https://api.github.com/users/annagav/orgs","repos_url":"https://api.github.com/users/annagav/repos","events_url":"https://api.github.com/users/annagav/events{/privacy}","received_events_url":"https://api.github.com/users/annagav/received_events","type":"User","site_admin":false},"body":"Ivan's Assignment Builder.","created_at":"2015-05-28T15:25:01Z","updated_at":"2015-06-11T19:06:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"abd9d3ce3afe4ed8154fd4bc740177d05ede540e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209/commits","review_comments_url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209/comments","review_comment_url":"https://api.github.com/repos/starteam/starcellbio_html/pulls/comments{/number}","comments_url":"https://api.github.com/repos/starteam/starcellbio_html/issues/209/comments","statuses_url":"https://api.github.com/repos/starteam/starcellbio_html/statuses/761d0873bc23a819c9764c63b21adf596db47747","head":{"label":"annagav:feature/assignment_builder_1","ref":"feature/assignment_builder_1","sha":"761d0873bc23a819c9764c63b21adf596db47747","user":{"login":"annagav","id":7574259,"avatar_url":"https://avatars.githubusercontent.com/u/7574259?v=3","gravatar_id":"","url":"https://api.github.com/users/annagav","html_url":"https://github.com/annagav","followers_url":"https://api.github.com/users/annagav/followers","following_url":"https://api.github.com/users/annagav/following{/other_user}","gists_url":"https://api.github.com/users/annagav/gists{/gist_id}","starred_url":"https://api.github.com/users/annagav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annagav/subscriptions","organizations_url":"https://api.github.com/users/annagav/orgs","repos_url":"https://api.github.com/users/annagav/repos","events_url":"https://api.github.com/users/annagav/events{/privacy}","received_events_url":"https://api.github.com/users/annagav/received_events","type":"User","site_admin":false},"repo":{"id":26652367,"name":"starcellbio_html","full_name":"annagav/starcellbio_html","owner":{"login":"annagav","id":7574259,"avatar_url":"https://avatars.githubusercontent.com/u/7574259?v=3","gravatar_id":"","url":"https://api.github.com/users/annagav","html_url":"https://github.com/annagav","followers_url":"https://api.github.com/users/annagav/followers","following_url":"https://api.github.com/users/annagav/following{/other_user}","gists_url":"https://api.github.com/users/annagav/gists{/gist_id}","starred_url":"https://api.github.com/users/annagav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annagav/subscriptions","organizations_url":"https://api.github.com/users/annagav/orgs","repos_url":"https://api.github.com/users/annagav/repos","events_url":"https://api.github.com/users/annagav/events{/privacy}","received_events_url":"https://api.github.com/users/annagav/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/annagav/starcellbio_html","description":"","fork":true,"url":"https://api.github.com/repos/annagav/starcellbio_html","forks_url":"https://api.github.com/repos/annagav/starcellbio_html/forks","keys_url":"https://api.github.com/repos/annagav/starcellbio_html/keys{/key_id}","collaborators_url":"https://api.github.com/repos/annagav/starcellbio_html/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/annagav/starcellbio_html/teams","hooks_url":"https://api.github.com/repos/annagav/starcellbio_html/hooks","issue_events_url":"https://api.github.com/repos/annagav/starcellbio_html/issues/events{/number}","events_url":"https://api.github.com/repos/annagav/starcellbio_html/events","assignees_url":"https://api.github.com/repos/annagav/starcellbio_html/assignees{/user}","branches_url":"https://api.github.com/repos/annagav/starcellbio_html/branches{/branch}","tags_url":"https://api.github.com/repos/annagav/starcellbio_html/tags","blobs_url":"https://api.github.com/repos/annagav/starcellbio_html/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/annagav/starcellbio_html/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/annagav/starcellbio_html/git/refs{/sha}","trees_url":"https://api.github.com/repos/annagav/starcellbio_html/git/trees{/sha}","statuses_url":"https://api.github.com/repos/annagav/starcellbio_html/statuses/{sha}","languages_url":"https://api.github.com/repos/annagav/starcellbio_html/languages","stargazers_url":"https://api.github.com/repos/annagav/starcellbio_html/stargazers","contributors_url":"https://api.github.com/repos/annagav/starcellbio_html/contributors","subscribers_url":"https://api.github.com/repos/annagav/starcellbio_html/subscribers","subscription_url":"https://api.github.com/repos/annagav/starcellbio_html/subscription","commits_url":"https://api.github.com/repos/annagav/starcellbio_html/commits{/sha}","git_commits_url":"https://api.github.com/repos/annagav/starcellbio_html/git/commits{/sha}","comments_url":"https://api.github.com/repos/annagav/starcellbio_html/comments{/number}","issue_comment_url":"https://api.github.com/repos/annagav/starcellbio_html/issues/comments{/number}","contents_url":"https://api.github.com/repos/annagav/starcellbio_html/contents/{+path}","compare_url":"https://api.github.com/repos/annagav/starcellbio_html/compare/{base}...{head}","merges_url":"https://api.github.com/repos/annagav/starcellbio_html/merges","archive_url":"https://api.github.com/repos/annagav/starcellbio_html/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/annagav/starcellbio_html/downloads","issues_url":"https://api.github.com/repos/annagav/starcellbio_html/issues{/number}","pulls_url":"https://api.github.com/repos/annagav/starcellbio_html/pulls{/number}","milestones_url":"https://api.github.com/repos/annagav/starcellbio_html/milestones{/number}","notifications_url":"https://api.github.com/repos/annagav/starcellbio_html/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/annagav/starcellbio_html/labels{/name}","releases_url":"https://api.github.com/repos/annagav/starcellbio_html/releases{/id}","created_at":"2014-11-14T18:45:00Z","updated_at":"2014-11-14T18:45:01Z","pushed_at":"2015-06-11T18:19:42Z","git_url":"git://github.com/annagav/starcellbio_html.git","ssh_url":"git@github.com:annagav/starcellbio_html.git","clone_url":"https://github.com/annagav/starcellbio_html.git","svn_url":"https://github.com/annagav/starcellbio_html","homepage":null,"size":316450,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"starteam:develop","ref":"develop","sha":"4997bff336a70a0ddaec6398ab6796a258bbeb87","user":{"login":"starteam","id":2973496,"avatar_url":"https://avatars.githubusercontent.com/u/2973496?v=3","gravatar_id":"","url":"https://api.github.com/users/starteam","html_url":"https://github.com/starteam","followers_url":"https://api.github.com/users/starteam/followers","following_url":"https://api.github.com/users/starteam/following{/other_user}","gists_url":"https://api.github.com/users/starteam/gists{/gist_id}","starred_url":"https://api.github.com/users/starteam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/starteam/subscriptions","organizations_url":"https://api.github.com/users/starteam/orgs","repos_url":"https://api.github.com/users/starteam/repos","events_url":"https://api.github.com/users/starteam/events{/privacy}","received_events_url":"https://api.github.com/users/starteam/received_events","type":"Organization","site_admin":false},"repo":{"id":7005293,"name":"starcellbio_html","full_name":"starteam/starcellbio_html","owner":{"login":"starteam","id":2973496,"avatar_url":"https://avatars.githubusercontent.com/u/2973496?v=3","gravatar_id":"","url":"https://api.github.com/users/starteam","html_url":"https://github.com/starteam","followers_url":"https://api.github.com/users/starteam/followers","following_url":"https://api.github.com/users/starteam/following{/other_user}","gists_url":"https://api.github.com/users/starteam/gists{/gist_id}","starred_url":"https://api.github.com/users/starteam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/starteam/subscriptions","organizations_url":"https://api.github.com/users/starteam/orgs","repos_url":"https://api.github.com/users/starteam/repos","events_url":"https://api.github.com/users/starteam/events{/privacy}","received_events_url":"https://api.github.com/users/starteam/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/starteam/starcellbio_html","description":"","fork":false,"url":"https://api.github.com/repos/starteam/starcellbio_html","forks_url":"https://api.github.com/repos/starteam/starcellbio_html/forks","keys_url":"https://api.github.com/repos/starteam/starcellbio_html/keys{/key_id}","collaborators_url":"https://api.github.com/repos/starteam/starcellbio_html/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/starteam/starcellbio_html/teams","hooks_url":"https://api.github.com/repos/starteam/starcellbio_html/hooks","issue_events_url":"https://api.github.com/repos/starteam/starcellbio_html/issues/events{/number}","events_url":"https://api.github.com/repos/starteam/starcellbio_html/events","assignees_url":"https://api.github.com/repos/starteam/starcellbio_html/assignees{/user}","branches_url":"https://api.github.com/repos/starteam/starcellbio_html/branches{/branch}","tags_url":"https://api.github.com/repos/starteam/starcellbio_html/tags","blobs_url":"https://api.github.com/repos/starteam/starcellbio_html/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/starteam/starcellbio_html/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/starteam/starcellbio_html/git/refs{/sha}","trees_url":"https://api.github.com/repos/starteam/starcellbio_html/git/trees{/sha}","statuses_url":"https://api.github.com/repos/starteam/starcellbio_html/statuses/{sha}","languages_url":"https://api.github.com/repos/starteam/starcellbio_html/languages","stargazers_url":"https://api.github.com/repos/starteam/starcellbio_html/stargazers","contributors_url":"https://api.github.com/repos/starteam/starcellbio_html/contributors","subscribers_url":"https://api.github.com/repos/starteam/starcellbio_html/subscribers","subscription_url":"https://api.github.com/repos/starteam/starcellbio_html/subscription","commits_url":"https://api.github.com/repos/starteam/starcellbio_html/commits{/sha}","git_commits_url":"https://api.github.com/repos/starteam/starcellbio_html/git/commits{/sha}","comments_url":"https://api.github.com/repos/starteam/starcellbio_html/comments{/number}","issue_comment_url":"https://api.github.com/repos/starteam/starcellbio_html/issues/comments{/number}","contents_url":"https://api.github.com/repos/starteam/starcellbio_html/contents/{+path}","compare_url":"https://api.github.com/repos/starteam/starcellbio_html/compare/{base}...{head}","merges_url":"https://api.github.com/repos/starteam/starcellbio_html/merges","archive_url":"https://api.github.com/repos/starteam/starcellbio_html/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/starteam/starcellbio_html/downloads","issues_url":"https://api.github.com/repos/starteam/starcellbio_html/issues{/number}","pulls_url":"https://api.github.com/repos/starteam/starcellbio_html/pulls{/number}","milestones_url":"https://api.github.com/repos/starteam/starcellbio_html/milestones{/number}","notifications_url":"https://api.github.com/repos/starteam/starcellbio_html/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/starteam/starcellbio_html/labels{/name}","releases_url":"https://api.github.com/repos/starteam/starcellbio_html/releases{/id}","created_at":"2012-12-04T19:09:23Z","updated_at":"2015-05-07T16:10:07Z","pushed_at":"2015-06-11T18:20:46Z","git_url":"git://github.com/starteam/starcellbio_html.git","ssh_url":"git@github.com:starteam/starcellbio_html.git","clone_url":"https://github.com/starteam/starcellbio_html.git","svn_url":"https://github.com/starteam/starcellbio_html","homepage":null,"size":587299,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":88,"forks":6,"open_issues":88,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209"},"html":{"href":"https://github.com/starteam/starcellbio_html/pull/209"},"issue":{"href":"https://api.github.com/repos/starteam/starcellbio_html/issues/209"},"comments":{"href":"https://api.github.com/repos/starteam/starcellbio_html/issues/209/comments"},"review_comments":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209/comments"},"review_comment":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/starteam/starcellbio_html/pulls/209/commits"},"statuses":{"href":"https://api.github.com/repos/starteam/starcellbio_html/statuses/761d0873bc23a819c9764c63b21adf596db47747"}}}}