From 7eccaa8bbac3ef2cd8d631f85e6154fa0d4cc85c Mon Sep 17 00:00:00 2001 From: Shane Frischkorn Date: Mon, 17 Nov 2014 16:35:55 +1000 Subject: [PATCH] Initial changes to add an erb101 area of the site --- db.sqlite3 | Bin 180224 -> 180224 bytes docs/Web Site.docx | Bin 18768 -> 18800 bytes three_d_viewer/css/styles.css | 2 +- ...09_auto__add_field_sample_erb101_sample.py | 77 ++++++++++++++++++ three_d_viewer/models.py | 5 ++ .../static/three_d_viewer/css/styles.css | 2 +- .../templates/three_d_viewer/base.html | 11 ++- .../templates/three_d_viewer/erb101/base.html | 17 ++++ .../templates/three_d_viewer/erb101/home.html | 11 +++ .../three_d_viewer/erb101/rock_practice.html | 3 + .../three_d_viewer/practice_internals.html | 21 +++++ .../three_d_viewer/sample_practice.html | 2 +- three_d_viewer/urls.py | 4 + three_d_viewer/views.py | 53 ++++++++++++ 14 files changed, 201 insertions(+), 7 deletions(-) create mode 100644 three_d_viewer/migrations/0009_auto__add_field_sample_erb101_sample.py create mode 100644 three_d_viewer/templates/three_d_viewer/erb101/base.html create mode 100644 three_d_viewer/templates/three_d_viewer/erb101/home.html create mode 100644 three_d_viewer/templates/three_d_viewer/erb101/rock_practice.html create mode 100644 three_d_viewer/templates/three_d_viewer/practice_internals.html diff --git a/db.sqlite3 b/db.sqlite3 index 9036cea3457fe1279780708513a75752f4d9b286..2322361f62683b1edf9646f6fe6f2ad9635535e0 100644 GIT binary patch delta 2191 zcma)-ZEO@p7{_PkUV6K?b4R6eTwkv(6`Ho&-P>#Lr6QDTsl}8QgGK}Kvh6MHg}vKy zZ_s}53av&X3B?Z%1cH80LyRAYL{0;xiAcg1jfomDAx0A8O9+N<8WW;(v*!z3FLAT` zWOnzN-~8u4v(GLpI2RV2%MG;#0HBLr-SmR=(vEh2*bQ&?Zs2eoa9?*D?k3kwSIp(Y z*RYQ3F4jta2+uvs*+6G(Fgughv{*crPiTj=v?NL4n3~HPv6vc<#||VkJs!)b$yr^C zY3WH>lFN5~Ne=YLa*rJJNr8wIib#GjAStweQQrzzp0<1ic9HI7*v!{lg$F%jV{j=- zURZ`l$lkN?iS-Y#+I*9Sp_6;du#qgDgI;p^EQ}W~orE9Rk@GxporDVPAUjUN4y*G# zuogc%1;0bEo4kJpZsCuO^wfBQLAcaI?w^6Z9`(0=aM(+Q#Q>76{Q177w$SXEDcOmcEM|Tp6TG34xZ`YnGT-m;F%7d>EQKZ;XXXNL&Cx_@Q82#xIb~f z;@OI)&?i z!@^s@yRn6Xm}}uU;IT(%v~*US$|hN(xtXQkxq|8gSSY3c44RvoO6l#80}W_!K9^2p zwNeLbx!u(G?`yJW1+91D?Z7tN)4(}~Ir8Uj)ak?rfemk}FXfTVE6BGFuL2%>Iw`Wv zOGk8&Usq7GebYwHK{INvBA*lgNW1tv?7_M*)QDXl0Gs3J&<5UdY#&FSzlv7-U0>3i z`bSGStrX?mlT*{#`I0uf*>o?`DR^Yab=T3c9kc!kR z(4Ul2b}1B9^{Iz3g@1l<;;>PjBln4NsO(X=T%oEg{?3$%Xm19T(8=?!N%H0uDC- delta 699 zcmXv~Ur3Wt6u;+wpSzp;?)_$(b8~Zlbh@?GCO()+l*)|KIh7Se(6SmREhjcDdU3i* z^io?=SI`Qn#{xs_Lu3j@AwfL|l0ju})q`O45`@r~(mDL#$2sSB{-sj-R7#&MFX})D zc~!VnfQs{@zIh*P_)D}jj^x*JLbkFE7G;dSqVc(+K!hssqmb_we(Be^FAEj9PMuyH zt924%CTR#$wUSV{RWY*4INi!M{v_AAFomLrl3h4TCMh6*|kwSNNcwu_h_ATM)r& zY=o0-c&w~!L!UG;U>HzFc3`wQp#Eal{*ZA!!c zU2WPbiR>IYn49tF9A-kjphFJc6~bo0ZX$duk8OgpjBvvec8C>5LiyVewg{umrToki zUa^+#C)A;8OkG1ggUOqRE+wyO_Nb?XaLY1wi|jr!=bB2z%3@V*2xEs(p(Xr99$O1# zH>$P*Q;;RsR7T`Q9G__<*RUt8z1Tu~s0B{7xAA#Uof{ zt6_ZDr(PYj>U7Aa5=$j$QF$WXH{91B+g&KU$JLy@2DJQL2%BDZVhEVT1kxiXLQd&8 zeAM}cV+D6LJK}0Vm10g|m!RBE;{b@_H*|_mjN?|mkimYa<3BREQKVK%756y)R4BMK g>zrh9+gy(!tx?t=V6RC_=?Sz?dM+s1S^Qi63xJiq1^@s6 diff --git a/docs/Web Site.docx b/docs/Web Site.docx index f10cc04a72724ced0c98131a89578e29752a1582..cfd4200bb4aa2abb955a4703b1c15a90ec30fa60 100644 GIT binary patch delta 5923 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 F007x*NZb+ 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 diff --git a/three_d_viewer/css/styles.css b/three_d_viewer/css/styles.css index 30fe328..545f72d 100644 --- a/three_d_viewer/css/styles.css +++ b/three_d_viewer/css/styles.css @@ -346,7 +346,7 @@ img.example { padding: 0; } #cssmenu > ul > li.mainitem { /*CUSTOM CLASS TEST*/ - width: 25%; + width: 20%; } #cssmenu > ul > #menu-button { display: none; diff --git a/three_d_viewer/migrations/0009_auto__add_field_sample_erb101_sample.py b/three_d_viewer/migrations/0009_auto__add_field_sample_erb101_sample.py new file mode 100644 index 0000000..38d62b9 --- /dev/null +++ b/three_d_viewer/migrations/0009_auto__add_field_sample_erb101_sample.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding field 'Sample.erb101_sample' + db.add_column(u'three_d_viewer_sample', 'erb101_sample', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Sample.erb101_sample' + db.delete_column(u'three_d_viewer_sample', 'erb101_sample') + + + models = { + u'three_d_viewer.answer': { + 'Meta': {'object_name': 'Answer'}, + 'correct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': u"orm['three_d_viewer.Question']"}), + 'text': ('django.db.models.fields.CharField', [], {'max_length': '2000'}) + }, + u'three_d_viewer.category': { + 'Meta': {'object_name': 'Category'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['three_d_viewer.Category']"}) + }, + u'three_d_viewer.glossaryentry': { + 'Meta': {'object_name': 'GlossaryEntry'}, + 'definition': ('django.db.models.fields.CharField', [], {'max_length': '2000'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + u'three_d_viewer.mineral': { + 'Meta': {'object_name': 'Mineral', '_ormbases': [u'three_d_viewer.Sample']}, + 'chemical_formula': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'cleavage_fracture': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'colour': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'crystallography': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'habit': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}), + 'hardness': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '3', 'decimal_places': '2', 'blank': 'True'}), + 'identifying_features': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}), + 'lustre': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'occurance': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}), + u'sample_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['three_d_viewer.Sample']", 'unique': 'True', 'primary_key': 'True'}), + 'specific_gravity': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '4', 'decimal_places': '2', 'blank': 'True'}), + 'streak': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}) + }, + u'three_d_viewer.question': { + 'Meta': {'object_name': 'Question'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'sample': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': u"orm['three_d_viewer.Sample']"}), + 'text': ('django.db.models.fields.CharField', [], {'max_length': '2000'}) + }, + u'three_d_viewer.sample': { + 'Meta': {'object_name': 'Sample'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2000', 'null': 'True', 'blank': 'True'}), + 'erb101_sample': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model_filename': ('django.db.models.fields.CharField', [], {'max_length': '1000'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'samples'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['three_d_viewer.Category']"}), + 'viewed_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + } + } + + complete_apps = ['three_d_viewer'] \ No newline at end of file diff --git a/three_d_viewer/models.py b/three_d_viewer/models.py index 32ed8cf..0c838f7 100644 --- a/three_d_viewer/models.py +++ b/three_d_viewer/models.py @@ -42,6 +42,10 @@ class Category(CommonInfo): @property def active_samples(self): return self.samples.select_subclasses(Sample, Mineral).filter(active=True).order_by('name') + + @property + def active_101_samples(self): + return self.samples.select_subclasses(Sample, Mineral).filter(active=True).filter(erb101_sample=True).order_by('name') class Meta: verbose_name_plural = "Categories" @@ -59,6 +63,7 @@ class Sample(CommonInfo): on_delete=models.SET_NULL, related_name="samples") viewed_count = models.IntegerField(default=0) + erb101_sample = models.BooleanField(default=False) #Use the inheritance manager for handling subclasses objects = InheritanceManager() diff --git a/three_d_viewer/static/three_d_viewer/css/styles.css b/three_d_viewer/static/three_d_viewer/css/styles.css index 4135e8c..5c61dcd 100644 --- a/three_d_viewer/static/three_d_viewer/css/styles.css +++ b/three_d_viewer/static/three_d_viewer/css/styles.css @@ -385,7 +385,7 @@ img.example { padding: 0; } #cssmenu > ul > li.mainitem { /*CUSTOM CLASS TEST*/ - width: 25%; + width: 20%; } #cssmenu > ul > #menu-button { display: none; diff --git a/three_d_viewer/templates/three_d_viewer/base.html b/three_d_viewer/templates/three_d_viewer/base.html index f513fcf..aa68510 100644 --- a/three_d_viewer/templates/three_d_viewer/base.html +++ b/three_d_viewer/templates/three_d_viewer/base.html @@ -18,12 +18,15 @@