From e89852bcc777c04d5d13182ed9bbb4ec6ef45ff3 Mon Sep 17 00:00:00 2001 From: kwhuber Date: Mon, 27 Oct 2025 12:48:25 -0500 Subject: [PATCH 1/8] fix: adjusted highlight color for selected chronostrat --- specifyweb/frontend/js_src/lib/components/Atoms/Form.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specifyweb/frontend/js_src/lib/components/Atoms/Form.tsx b/specifyweb/frontend/js_src/lib/components/Atoms/Form.tsx index cf0f6294094..ec74ed1ff5b 100644 --- a/specifyweb/frontend/js_src/lib/components/Atoms/Form.tsx +++ b/specifyweb/frontend/js_src/lib/components/Atoms/Form.tsx @@ -352,9 +352,9 @@ export const Select = wrap< * the background in dark-mode. This is a fix: */ if (props.required !== true && props.multiple === true) { - selected.map((option) => option.classList.add('dark:bg-neutral-100')); + selected.map((option) => option.classList.add('dark:bg-neutral-500')); // highlights selected object less bright unselected.map((option) => - option.classList.remove('dark:bg-neutral-100') + option.classList.remove('dark:bg-neutral-500') // prevents a previously selected option from remaining highlighted ); } const value = (event.target as HTMLSelectElement).value; From 297ed2b89268af24f94b75f69812af18060d0371 Mon Sep 17 00:00:00 2001 From: kwhuber Date: Mon, 3 Nov 2025 13:28:02 -0600 Subject: [PATCH 2/8] merge conflicts --- .DS_Store | Bin 0 -> 10244 bytes .env | 2 +- .github/.DS_Store | Bin 0 -> 6148 bytes .vscode/launch.json | 31 ++++++++++++++++++ .vscode/settings.json | 23 +++++++++++++ Dockerfile | 21 +++++++++++- docker-compose.yml | 2 ++ manage.py | 6 ++++ requirements-testing.txt | 7 +++- specify7/.DS_Store | Bin 0 -> 6148 bytes specifyweb/.DS_Store | Bin 0 -> 8196 bytes specifyweb/backend/.DS_Store | Bin 0 -> 6148 bytes specifyweb/frontend/.DS_Store | Bin 0 -> 6148 bytes specifyweb/frontend/js_src/.DS_Store | Bin 0 -> 6148 bytes specifyweb/frontend/js_src/lib/.DS_Store | Bin 0 -> 6148 bytes .../frontend/js_src/lib/components/.DS_Store | Bin 0 -> 8196 bytes .../__snapshots__/Form.test.tsx.snap | 4 +-- specifyweb/frontend/js_src/package-lock.json | 3 +- specifyweb/frontend/js_src/package.json | 2 +- specifyweb/specify/.DS_Store | Bin 0 -> 6148 bytes 20 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 .DS_Store create mode 100644 .github/.DS_Store create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 specify7/.DS_Store create mode 100644 specifyweb/.DS_Store create mode 100644 specifyweb/backend/.DS_Store create mode 100644 specifyweb/frontend/.DS_Store create mode 100644 specifyweb/frontend/js_src/.DS_Store create mode 100644 specifyweb/frontend/js_src/lib/.DS_Store create mode 100644 specifyweb/frontend/js_src/lib/components/.DS_Store create mode 100644 specifyweb/specify/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1b6c0564f459cd52c4a71a3db937748c8eb82d9e GIT binary patch literal 10244 zcmeHML66%+6n@_BZk$b_QPrY~3dslwaoC1U3%f<2Doqo?QlMg!QX$F)dy^*CI(A6B zn?|ceQ7=fqi6bEX0*F%&TsR?d0)fgAi8JhxOAqk9v9}pJcIc&m#Edk4!_)L>6eyI9-uy1gk))u9+r3@8Q^1BwB~ zz<-4SytBFJxj?F`Vn8vV7`Vp(?+*ql%Tg%EffQQ@F5(CPIgf5p(9UxM(gGoocX-hnS2|_{91x3We&%s z4(*U7k52T_3)32M4BEzp@4^^je!AWyl5{OO9tw61_OnX^+9Hpd)QZNla3PFG(vaiX z`1HrGH(wW=#Qezdq-#au2{yl@bctS~i}V`3NL6};u0R&3OU-r1+X{2R+a2ej@TVwf z5wYDm)zM#vyaM|IFx{XVF}p8fc8dbJ3r(BaQC;n^S-LV)n)CDT(2e+#d9uIx{+H7) z3!Y*+ldPrb$Q)@tMj<)|tcCY_(?|Rf{Uzw|e&y0lSnz7aoQ>KD6z@qWvX~!L^j3hT z3ajZ=#5iP&Q^-b(-o?zYMXQTD&d~rF_t75U$}zOz%||4DGy;KA_Loofmu%0dW&0fG z3R$}3vZm3SiuQvOw1jb30-(% zeH&|FL~AkTI8!tAt>K^-?$@`io?{REm6bc%+>!Z(#f+ZObNbu0jyJ6NroS^NoBg-= zuI_n`b=WqoH|*B1kw0$n#*K zdGLOcj-37e>Fx93JA2BP{Fa=hCue%`H<9TnU%R!w>v(P(@i3mHSpJ5{y%o(N=X`Ec zS~rO{GTuiIerl%qmN8$ueeZWlqE8w3-|5QOAOGx243GC8&+^IK6xgsc4AGB0GK!Ml ze-V_ABw9DHKlD(8Rg$*DV!w>|I-cTd7i%po9=r)6J{XZIiUGxdVn8wQpcyz43}ECS ztLgv$Kj<)&f5m`e;9q1wo3GR=Wdv~e<3An?e`_~T-$CWVdgDL}6I{gScu4U%9yk0s h{wY+}U17-u?NTVmfkY3=KmKQcI{&Nl|Ns2_{};E;cQOC~ literal 0 HcmV?d00001 diff --git a/.env b/.env index 8473a84c7a8..a65260454e3 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ DATABASE_HOST=mariadb DATABASE_PORT=3306 MYSQL_ROOT_PASSWORD=password -DATABASE_NAME=specify +DATABASE_NAME=uw_geo_collections_2025_09_09 # The following are database users with specific roles and privileges. # If the migrator and app user are not defined, the system will use the master user credentials. diff --git a/.github/.DS_Store b/.github/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9dca596f8a793f47055de09ec5173d23a13259e0 GIT binary patch literal 6148 zcmeHKOG*Pl5Phu?;)f8(MsPD%$PFfOA}Ib~bf+jW7{P>ziex)SaP1x3xOL%5+y|f{j^OhB&v11$} z=5G^w*d6j#gEF8D%o+o-cPogvXJf1*yMIq`fChH3k8RYX-)UFlv!vT|DJ)z~AK6W! zsM$%Hj3}0$p5NEDUTZ&zZv7&*FT>jgH%+y|Qb5eE8V7KeFFr#CX}2j`z&3?@rdIGTRKW zW{VV;9jaCalmTU6z<`_&0h?gxF?DE<4k~*EAQou0!oIDs#6S$h&|~V57K(A9L>FrO z6~nl2+5_(wdQ2U /opt/specify7/specifyweb/pytest.ini +# RUN cat < .vscode/settings.json +# { +# "python.pythonPath": "ve/bin/python/", +# "python.testing.pytestArgs": [ +# "specifyweb", +# "-s", +# "-vv", +# "-o", +# "python_files=*test*.py" +# ], +# "python.testing.pytestEnabled": true, +# "python.testing.nosetestsEnabled": false, +# "python.testing.unittestEnabled": false +# } + +# EOF COPY mypy.ini ./ diff --git a/docker-compose.yml b/docker-compose.yml index 41c149c0f16..353a9523b23 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,6 +33,8 @@ services: build: context: ./. target: run-development + ports: + - "3000:3000" command: ve/bin/python manage.py runserver 0.0.0.0:8000 init: true restart: unless-stopped diff --git a/manage.py b/manage.py index a7615029a5f..12212617947 100644 --- a/manage.py +++ b/manage.py @@ -7,6 +7,12 @@ if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "specifyweb.settings") + from django.conf import settings + if settings.DEBUG: + if os.environ.get('RUN_MAIN') or os.environ.get('WERKZEUG_RUN_MAIN'): + import debugpy + debugpy.listen(("0.0.0.0", 3000)) + print('Attached!') try: from django.core.management import execute_from_command_line except ImportError: diff --git a/requirements-testing.txt b/requirements-testing.txt index 21bba85648c..129049a116d 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -3,4 +3,9 @@ mypy==1.5.1 hypothesis>=6.131.9,<7 hypothesis-jsonschema==0.19.0 types-requests==2.28.5 -lxml \ No newline at end of file +lxml +debugpy==1.6.5 +pytest==7.2.1 +pytest-django==4.5.2 +django-extensions==3.2.3 +# django-debug-toolbar==4.4.6 \ No newline at end of file diff --git a/specify7/.DS_Store b/specify7/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..23d7b1f05ad7197bf5efe7c7a54adcdd4c8cbc2a GIT binary patch literal 6148 zcmeHKJ5Iwu5SGrU*YkHNLp;0xyVdJDyX77sTqr&tBzz6o+&VCjq9%6sPDLWKTs<&2GHDz z+{?}ScE0?UZ~nHc>(#njA+BnlA0A&WU(a_rZPy$;+uRNHPTuUXhFiHJ17v^5}Yb)QOu@Oeo22hd*1mq~b_R2FSoZ14q7{Y5%`~{&Z&FufiP} zAOnAyfi$g`^#X4Yy>;|1+G{iP3c3@-S~!fgVxYBRY_t`heTmDu#(4?s9W5PxO9%2t MKzX5%f!|=@1GoJt?*IS* literal 0 HcmV?d00001 diff --git a/specifyweb/.DS_Store b/specifyweb/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c502bc823f25d6934f424db8dae5f05116da8583 GIT binary patch literal 8196 zcmeI1ziSjh6vy9q2QHq1SOtSHMFh1>o7;;vBDtAk=WTYsZ}xNF*&p{dL?o8?nhQiT zL=<6B@q7i{n5Oot#cQX`7Ktd3Pt>3dEZdY&%~OXB!GYjFa3DAk90(5l4-Vj&ty)y@ z+}C?U9~=k{Or-6^h`aBTurNM66@zg9E_<-vNnD6;$gr>QLXQ-)rry zg|$YOc68F&2gS-Xt5)mntPVx=a_-s3OZN_!CaIf$q3&$k6cWSIX{z&kh8Es4Jf^0@ zx%m2D{Rg=@a$2Sc0iLLc4-%Xx7E7CM&+Mio1nHi zOV=;|>fL9~i5WxYKg)3V_02Y-O%P|G@A-~iyw?8;YENUcK0Unk-gr7jHzb^-v$^EK z5e`XbD21m@e3X|@Fz36JxQ@=sBAv~*__=g6tIx@?W7;!+oYv+fnpd0^TssNa6s?;5 z9rki$?xP>YN}KiJmjP?RxHj$aYL}Ovju99W%yo~?*samCG+hU&r?DB|UHN`zFyA9% z*>v-7?`~XJ<#X5@&*gfBL*lybvXc#PZBpNv>E|Eb_zIh;b;G)@opEfUVwJ=5;*;VD zEjVzJ9VqE9H>2wR+r{tyPqGE!y9EcP-T_gru2q*|gQ=}OLsYFTu{^?}n$qPuatb;w r#}T<4M;!da5bF|Bl@pto>xeCA|NKS3@YlcdDdLA~^UE1vlyFB2TF(x(F_AYCq88tFN{eN8e8o90d{of`gNw zi>r%2z}>}jlT;I5`>czI*B$iv{JW-B_(nyS{46+W!{hVUfr(4E= zLXOd*I_=O2h4?vh3OEJ+x&r*|W~oSfRH8#NzuzF(&u^8&T3sz+exbW(Ei4p@L0E)G z`s(8Gd2;=3DapJ11Mm8Q$zqeqjDT;8npCADssNkRKt15H#knt-PWCo=FP_i5ooq^r+`zyDe$2HpAQ}qqpvYi zD31N%%i<-whj!X1pwMLx(ICRB`hZe)`8g(9*BA> z&{H*94E1!Zr--Wqv!kbrM)RTZ)+XpR)WqVl84%dLO8_Rej~o}L`;*y-s{^y6Rk8Jw P4&+6k5W;~B?0|t!b`vh} literal 0 HcmV?d00001 diff --git a/specifyweb/frontend/js_src/.DS_Store b/specifyweb/frontend/js_src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..449b05a7293df12e9e07acc6602029a5153da1c0 GIT binary patch literal 6148 zcmeHK%}T>S5T0!-MD)<3y=Z)df`=YsjZe^%ASf|K#l#e(_gn?9UIgF4y9d4bEWUte zzu6huEwROuNST4zZ!jP> z>tiF@4F8b%rD;}F87$HM!Oh_5^y4t}<}19DtKihv7o^cP z-BLw4jp>X^znh|hG2Mj~^mgyRR>g)j^*#r0M<>3frDvDbyvpCihjs5gymQ?q#(*(k z46F+S=-DjMmY}W1fH7bU%oyPBLkwk16l+2M>A>Pg0AL4ZFWB=e!8x&FqF4*U196fH zlvJl9hLd#IV~tA`Ye7jTr^AQSJ3F0FoWDEHk9|0~M9@}az!+F$pe>hO?*GTj=l{hd zyD|ohfwf}5b<$Bf#3N~MZ9E+J+8BBcW#PD5aF&9NZ^ek^R=flC0(;CGV4_$H!UC}$ N0Z)T1#=xI4@D1(^QL+F4 literal 0 HcmV?d00001 diff --git a/specifyweb/frontend/js_src/lib/.DS_Store b/specifyweb/frontend/js_src/lib/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d55ee0757fb5916944ddbdec45e5723d76e6cb4a GIT binary patch literal 6148 zcmeHKOG?B*5UtKch>DVh3&BmUFyH~=5H~JdI2Vxl;D^KxjI)*AcnMG88QgdWHy%Y_ zbr&%q6L2LmR6*72R9AI(UP3BGL}s#HjEPbrN}!Cx@b27nP&;`T{#Dr8} zNHx-8n2-*CCULo-3mDSLNb_N2XCobo@w;RF%!iZ71FBU9lz}b-qi~sW{XZY>|GPHV%7{=do95tm3jFpg(2S7q%$-wT0z`%!uh@chf&?HSMBB`U06tRHC#$Uk1 z%*uqs)`>3s2?*G_fCNJqVBmT0&hcIRQ86GQ^)B+gsqcC3{q>1+?zu!H8k5aB(J~R$ zaBw`egf6G?I3Jnj=`&{$1@eh{^oSyw(1^MjwL9S)a1J;JoCD4Q=fFHTfO|H#TETr^ zjk?}B;2b!X4)FRA;NTeQ7^^6k4s>!0fav42YtO>$bIj$6mgF zzuxLbgP~0G-`y$G4x(nW(~mmP)OOcCem;F|f2CZ%`B(bkw!yNnfvIT;++)1jc-pW{ z1JLi_C!5;)d9he&GQV0q_iKDzG8fD{h*ILC)fTV6$GkpW#?z4z^(mitCv0i95k0^a{ls$2`@w&&XEY`oJ^h||mZM9_%5*l@9&??bRqD_! zIM&8D?Jn4Q^w?ta->(eu`X6orl4a9pO@Ql#OXf_@jlRFp^mYN7(x3F4+7l%Upnu) select multiple calls onValuesChange 1`] = ` >