Merge V2 branch
This commit is contained in:
@@ -39,6 +39,7 @@ class MineralPracticeView(generic.ListView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
class MineralDetailView(generic.DetailView):
|
||||
@@ -61,6 +62,7 @@ class MineralDetailView(generic.DetailView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
@@ -86,6 +88,7 @@ class RockPracticeView(generic.ListView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
class RockDetailView(generic.DetailView):
|
||||
@@ -105,6 +108,7 @@ class RockDetailView(generic.DetailView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
@@ -130,6 +134,7 @@ class FossilPracticeView(generic.ListView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
class FossilDetailView(generic.DetailView):
|
||||
@@ -149,6 +154,7 @@ class FossilDetailView(generic.DetailView):
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
return context
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
@@ -165,3 +171,144 @@ class GlossaryView(generic.ListView):
|
||||
context = super(GlossaryView, self).get_context_data(**kwargs)
|
||||
context['entries'] = GlossaryEntry.objects.all().order_by("name")
|
||||
return context
|
||||
|
||||
class ERB101HomeView(generic.ListView):
|
||||
"""
|
||||
Show the home page
|
||||
"""
|
||||
|
||||
template_name = 'three_d_viewer/erb101/home.html'
|
||||
model = Sample
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101HomeView, self).get_context_data(**kwargs)
|
||||
context['active_samples'] = Sample.objects.select_subclasses(Mineral).filter(active=True).filter(erb101_sample=True).order_by('name')
|
||||
context['parent_categories'] = Category.objects.filter(parent=None). \
|
||||
filter(active=True).order_by('name')
|
||||
return context
|
||||
|
||||
class ERB101MineralPracticeView(generic.ListView):
|
||||
model = Mineral
|
||||
template_name = 'three_d_viewer/erb101/minerals_practice.html'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101MineralPracticeView, self).get_context_data(**kwargs)
|
||||
cat = Category.objects.get(name='Minerals')
|
||||
result = cat.active_101_samples
|
||||
|
||||
for child in cat.active_children:
|
||||
result = chain(result, child.active_101_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/erb101/base.html'
|
||||
return context
|
||||
|
||||
class ERB101MineralDetailView(generic.DetailView):
|
||||
"""
|
||||
Add extra functionality for mineral details
|
||||
"""
|
||||
|
||||
model = Mineral
|
||||
template_name = 'three_d_viewer/erb101/mineral_detail.html'
|
||||
|
||||
parent_categories = Category.objects.filter(parent=None). \
|
||||
filter(active=True).order_by("name")
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101MineralDetailView, self).get_context_data(**kwargs)
|
||||
cat = Category.objects.get(name='Minerals')
|
||||
result = cat.active_samples
|
||||
|
||||
for child in cat.active_children:
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/erb101/base.html'
|
||||
return context
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
object = super(ERB101MineralDetailView, self).get_object()
|
||||
object.viewed_count += 1
|
||||
object.save()
|
||||
return object
|
||||
|
||||
class ERB101RockPracticeView(generic.ListView):
|
||||
model = Sample
|
||||
template_name = 'three_d_viewer/erb101/rock_practice.html'
|
||||
|
||||
parent_categories = Category.objects.filter(parent=None). \
|
||||
filter(active=True).order_by("name")
|
||||
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101RockPracticeView, self).get_context_data(**kwargs)
|
||||
cat = Category.objects.get(name='Rocks')
|
||||
result = cat.active_101_samples
|
||||
|
||||
for child in cat.active_children:
|
||||
result = chain(result, child.active_101_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/erb101/base.html'
|
||||
return context
|
||||
|
||||
|
||||
class ERB101RockDetailView(generic.DetailView):
|
||||
model = Sample
|
||||
template_name = 'three_d_viewer/erb101/rock_detail.html'
|
||||
|
||||
parent_categories = Category.objects.filter(parent=None). \
|
||||
filter(active=True).order_by("name")
|
||||
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101RockDetailView, self).get_context_data(**kwargs)
|
||||
cat = Category.objects.get(name='Rocks')
|
||||
result = cat.active_samples
|
||||
|
||||
for child in cat.active_children:
|
||||
result = chain(result, child.active_samples)
|
||||
|
||||
context['active_samples'] = sorted(result, key=attrgetter('name'))
|
||||
context['base_template'] = 'three_d_viewer/erb101/base.html'
|
||||
return context
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
object = super(ERB101RockDetailView, self).get_object()
|
||||
object.viewed_count += 1
|
||||
object.save()
|
||||
return object
|
||||
|
||||
class TheoryTemplateView(generic.TemplateView):
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(TheoryTemplateView, self).get_context_data(**kwargs)
|
||||
context['base_template'] = 'three_d_viewer/base.html'
|
||||
context['url_extender'] = 'three_d_viewer:'
|
||||
context['olivine'] = Mineral.objects.filter(name='Olivine')[0]
|
||||
context['quartz'] = Mineral.objects.filter(name='Quartz')[0]
|
||||
context['microcline'] = Mineral.objects.filter(name='Microcline')[0]
|
||||
context['plag'] = Mineral.objects.filter(name='Plagioclase')[0]
|
||||
context['diopside'] = Mineral.objects.filter(name='Diopside')[0]
|
||||
context['actinolite'] = Mineral.objects.filter(name='Actinolite')[0]
|
||||
|
||||
context['silicates_theory'] = 'three_d_viewer:theory_silicates'
|
||||
context['structure_theory'] = 'three_d_viewer:theory_structure'
|
||||
return context
|
||||
|
||||
class ERB101TheoryTemplateView(generic.TemplateView):
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ERB101TheoryTemplateView, self).get_context_data(**kwargs)
|
||||
context['base_template'] = 'three_d_viewer/erb101/base.html'
|
||||
context['url_extender'] = 'three_d_viewer:erb101_'
|
||||
context['olivine'] = Mineral.objects.filter(name='Olivine')[0]
|
||||
context['quartz'] = Mineral.objects.filter(name='Quartz')[0]
|
||||
context['microcline'] = Mineral.objects.filter(name='Microcline')[0]
|
||||
context['plag'] = Mineral.objects.filter(name='Plagioclase')[0]
|
||||
context['diopside'] = Mineral.objects.filter(name='Diopside')[0]
|
||||
context['actinolite'] = Mineral.objects.filter(name='Actinolite')[0]
|
||||
|
||||
context['silicates_theory'] = 'three_d_viewer:erb101_theory_silicates'
|
||||
context['structure_theory'] = 'three_d_viewer:erb101_theory_structure'
|
||||
return context
|
||||
|
||||
|
||||
Reference in New Issue
Block a user