From 076ec0b467e840ed1adb994973c60435681bd5a6 Mon Sep 17 00:00:00 2001 From: emile Date: Mon, 14 Apr 2025 15:44:11 +0300 Subject: [PATCH] new prospecting list page --- .../__pycache__/models.cpython-313.pyc | Bin 4575 -> 4580 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 925 -> 923 bytes .../0002_country_addressbook.cpython-313.pyc | Bin 1803 -> 1801 bytes .../__pycache__/0003_contact.cpython-313.pyc | Bin 1419 -> 1417 bytes .../0004_socialmedia.cpython-313.pyc | Bin 1241 -> 1239 bytes ...05_socialmedia_addressbook.cpython-313.pyc | Bin 1037 -> 1035 bytes ...nglist_prospectinglistitem.cpython-313.pyc | Bin 2842 -> 2840 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 195 -> 193 bytes osinaweb/addressbook/models.py | 5 +- .../billing/__pycache__/urls.cpython-313.pyc | Bin 1179 -> 1177 bytes .../billing/__pycache__/views.cpython-313.pyc | Bin 3593 -> 3591 bytes .../add/__pycache__/urls.cpython-313.pyc | Bin 1243 -> 1241 bytes .../delete/__pycache__/urls.cpython-313.pyc | Bin 566 -> 564 bytes .../delete/__pycache__/views.cpython-313.pyc | Bin 1346 -> 1344 bytes .../edit/__pycache__/urls.cpython-313.pyc | Bin 625 -> 623 bytes .../edit/__pycache__/views.cpython-313.pyc | Bin 2347 -> 2345 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 2197 -> 2195 bytes ...vice_cancelled_at_and_more.cpython-313.pyc | Bin 1203 -> 1201 bytes ...003_payment_servicepayment.cpython-313.pyc | Bin 1827 -> 1825 bytes ...rename_payment_paymenttype.cpython-313.pyc | Bin 733 -> 731 bytes ...05_service_recurring_cycle.cpython-313.pyc | Bin 1052 -> 1050 bytes ...ervice_created_at_and_more.cpython-313.pyc | Bin 1097 -> 1095 bytes ...er_service_recurring_cycle.cpython-313.pyc | Bin 1113 -> 1111 bytes .../0008_alter_service_type.cpython-313.pyc | Bin 1104 -> 1102 bytes ...cepayment_service_and_more.cpython-313.pyc | Bin 1806 -> 1804 bytes .../0010_charge_amount.cpython-313.pyc | Bin 890 -> 888 bytes .../__pycache__/0011_invoice.cpython-313.pyc | Bin 1300 -> 1298 bytes ...nt_charge_receipt_and_more.cpython-313.pyc | Bin 1447 -> 1445 bytes ...alter_invoice_date_created.cpython-313.pyc | Bin 839 -> 837 bytes ...014_servicepayment_comment.cpython-313.pyc | Bin 835 -> 833 bytes .../__pycache__/0015_order.cpython-313.pyc | Bin 1537 -> 1535 bytes .../0016_alter_order_status.cpython-313.pyc | Bin 919 -> 917 bytes .../0017_service_order.cpython-313.pyc | Bin 1026 -> 1024 bytes .../0018_alter_order_status.cpython-313.pyc | Bin 927 -> 925 bytes ..._service_customer_and_more.cpython-313.pyc | Bin 4413 -> 4411 bytes .../0020_orderitem.cpython-313.pyc | Bin 1362 -> 1360 bytes ...m_recurring_cycle_and_more.cpython-313.pyc | Bin 1153 -> 1151 bytes ...e_item_created_at_and_more.cpython-313.pyc | Bin 1155 -> 1153 bytes ...em_project_alter_item_type.cpython-313.pyc | Bin 1391 -> 1389 bytes .../0024_remove_item_active.cpython-313.pyc | Bin 727 -> 725 bytes ...item_project_item_customer.cpython-313.pyc | Bin 1205 -> 1203 bytes ...tem_type_remove_order_paid.cpython-313.pyc | Bin 873 -> 871 bytes .../0027_item_type.cpython-313.pyc | Bin 896 -> 894 bytes ...0028_remove_order_due_date.cpython-313.pyc | Bin 708 -> 706 bytes .../0029_invoice_pdf.cpython-313.pyc | Bin 825 -> 823 bytes .../0030_alter_invoice_order.cpython-313.pyc | Bin 1019 -> 1017 bytes ...ter_invoice_invoice_number.cpython-313.pyc | Bin 846 -> 844 bytes .../0032_order_business.cpython-313.pyc | Bin 1103 -> 1101 bytes .../0033_alter_order_status.cpython-313.pyc | Bin 944 -> 942 bytes .../0034_alter_invoice_pdf.cpython-313.pyc | Bin 847 -> 845 bytes .../0035_alter_invoice_pdf.cpython-313.pyc | Bin 829 -> 827 bytes ...ter_invoice_invoice_number.cpython-313.pyc | Bin 855 -> 853 bytes .../0037_recurringcycle_item.cpython-313.pyc | Bin 1035 -> 1033 bytes .../0038_alter_invoice_pdf.cpython-313.pyc | Bin 847 -> 845 bytes ...recurringcycle_cycle_price.cpython-313.pyc | Bin 824 -> 822 bytes ..._orderitem_end_at_and_more.cpython-313.pyc | Bin 968 -> 966 bytes .../0041_orderitem_active.cpython-313.pyc | Bin 843 -> 841 bytes .../0042_order_due_date.cpython-313.pyc | Bin 809 -> 807 bytes .../0043_alter_invoice_pdf.cpython-313.pyc | Bin 845 -> 843 bytes ...044_alter_orderitem_active.cpython-313.pyc | Bin 825 -> 823 bytes ...ter_orderpayment_date_paid.cpython-313.pyc | Bin 983 -> 981 bytes ...t_order_orderpayment_order.cpython-313.pyc | Bin 1163 -> 1161 bytes ...cription_paymenttype_image.cpython-313.pyc | Bin 1024 -> 1022 bytes ...e_order_status_orderstatus.cpython-313.pyc | Bin 1572 -> 1570 bytes ...rename_due_date_order_date.cpython-313.pyc | Bin 760 -> 758 bytes ...ent_type_orderpayment_type.cpython-313.pyc | Bin 954 -> 952 bytes ..._alter_orderpayment_amount.cpython-313.pyc | Bin 844 -> 842 bytes ...2_alter_orderstatus_status.cpython-313.pyc | Bin 974 -> 972 bytes .../0053_item_photo.cpython-313.pyc | Bin 827 -> 825 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 191 -> 189 bytes .../custom_context.cpython-313.pyc | Bin 2562 -> 2560 bytes .../add/__pycache__/urls.cpython-313.pyc | Bin 418 -> 416 bytes .../add/__pycache__/views.cpython-313.pyc | Bin 4022 -> 4020 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 4113 -> 4111 bytes ...02_alter_ticket_department.cpython-313.pyc | Bin 1120 -> 1118 bytes ...mer_ticket_status_and_more.cpython-313.pyc | Bin 1553 -> 1551 bytes ...ket_ticket_number_and_more.cpython-313.pyc | Bin 1280 -> 1278 bytes .../0005_ticketstatusupdate.cpython-313.pyc | Bin 1863 -> 1861 bytes .../0006_ticketupdate_read.cpython-313.pyc | Bin 833 -> 831 bytes ...ead_ticketupdatereadstatus.cpython-313.pyc | Bin 1774 -> 1772 bytes ...pdatereadstatus_ticketread.cpython-313.pyc | Bin 959 -> 957 bytes ...er_ticketattachment_ticket.cpython-313.pyc | Bin 1099 -> 1097 bytes ...ction_ticketupdatereaction.cpython-313.pyc | Bin 782 -> 780 bytes ...ketupdatereaction_customer.cpython-313.pyc | Bin 1254 -> 1252 bytes ...0012_ticket_ticket_members.cpython-313.pyc | Bin 1069 -> 1067 bytes ...lter_ticket_ticket_members.cpython-313.pyc | Bin 940 -> 938 bytes ...partment_ticket_department.cpython-313.pyc | Bin 1013 -> 1011 bytes ...artment_ticket_departments.cpython-313.pyc | Bin 802 -> 800 bytes ...tstatusupdate_ticketstatus.cpython-313.pyc | Bin 944 -> 942 bytes .../0017_tickettask.cpython-313.pyc | Bin 1413 -> 1411 bytes ...lter_ticketattachment_file.cpython-313.pyc | Bin 846 -> 844 bytes .../__pycache__/0019_file.cpython-313.pyc | Bin 1124 -> 1122 bytes ...lter_ticketattachment_file.cpython-313.pyc | Bin 846 -> 844 bytes .../0021_file_ticket.cpython-313.pyc | Bin 1054 -> 1052 bytes .../0022_remove_file_ticket.cpython-313.pyc | Bin 714 -> 712 bytes ...etattachment_file_and_more.cpython-313.pyc | Bin 1038 -> 1036 bytes ...attachment_ticket_and_more.cpython-313.pyc | Bin 1968 -> 1966 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 196 -> 194 bytes .../payment/__pycache__/urls.cpython-313.pyc | Bin 1331 -> 1329 bytes .../payment/__pycache__/views.cpython-313.pyc | Bin 15197 -> 15195 bytes osinaweb/db.sqlite3 | Bin 2142208 -> 2142208 bytes .../__pycache__/consumers.cpython-313.pyc | Bin 46359 -> 46357 bytes .../__pycache__/routing.cpython-313.pyc | Bin 820 -> 818 bytes .../osichat/__pycache__/urls.cpython-313.pyc | Bin 582 -> 580 bytes .../osichat/__pycache__/views.cpython-313.pyc | Bin 2969 -> 2967 bytes .../__pycache__/serializers.cpython-313.pyc | Bin 2663 -> 2661 bytes .../api/__pycache__/urls.cpython-313.pyc | Bin 529 -> 527 bytes .../api/__pycache__/views.cpython-313.pyc | Bin 6548 -> 6546 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 4687 -> 4685 bytes ...atroom_created_by_and_more.cpython-313.pyc | Bin 1533 -> 1531 bytes ...ove_chatroom_guest_session.cpython-313.pyc | Bin 1279 -> 1277 bytes .../0004_chatroomguest_room.cpython-313.pyc | Bin 1056 -> 1054 bytes ...5_alter_chatmessage_member.cpython-313.pyc | Bin 1229 -> 1227 bytes ..._alter_chatmessage_content.cpython-313.pyc | Bin 835 -> 833 bytes .../0007_chatmessage_room.cpython-313.pyc | Bin 1033 -> 1031 bytes ...008_alter_chatmessage_room.cpython-313.pyc | Bin 1029 -> 1027 bytes .../__pycache__/0009_visitor.cpython-313.pyc | Bin 1152 -> 1150 bytes ...ft_date_visitor_visit_date.cpython-313.pyc | Bin 928 -> 926 bytes .../0011_visitor_country.cpython-313.pyc | Bin 842 -> 840 bytes ...12_alter_visitor_reference.cpython-313.pyc | Bin 819 -> 817 bytes ...reference_visitor_referrer.cpython-313.pyc | Bin 766 -> 764 bytes ...tmessageattachment_message.cpython-313.pyc | Bin 1067 -> 1065 bytes ...ter_chatmessageseen_member.cpython-313.pyc | Bin 1535 -> 1533 bytes ..._chatmessageseen_seen_date.cpython-313.pyc | Bin 859 -> 857 bytes ...ted_chatroom_terminated_by.cpython-313.pyc | Bin 1456 -> 1454 bytes ...est_mobile_number_and_more.cpython-313.pyc | Bin 2444 -> 2442 bytes .../0019_visitorlog_visitor.cpython-313.pyc | Bin 1063 -> 1061 bytes .../0020_chatroomreview.cpython-313.pyc | Bin 1358 -> 1356 bytes ...021_chatroomreview_details.cpython-313.pyc | Bin 823 -> 821 bytes .../0022_visitorlog_title.cpython-313.pyc | Bin 840 -> 838 bytes ...owser_name_visitor_os_name.cpython-313.pyc | Bin 973 -> 971 bytes .../0024_chatotification.cpython-313.pyc | Bin 1233 -> 1231 bytes ...ification_chatnotification.cpython-313.pyc | Bin 752 -> 750 bytes .../0026_visitor_region.cpython-313.pyc | Bin 843 -> 841 bytes ...0027_chatnotification_type.cpython-313.pyc | Bin 886 -> 884 bytes ...8_chatnotification_type_id.cpython-313.pyc | Bin 826 -> 824 bytes ...hatnotification_session_id.cpython-313.pyc | Bin 853 -> 851 bytes ...030_chatnotification_users.cpython-313.pyc | Bin 1028 -> 1026 bytes ...ter_chatnotification_users.cpython-313.pyc | Bin 1042 -> 1040 bytes ...sers_chatnotification_user.cpython-313.pyc | Bin 1352 -> 1350 bytes .../0033_chatconnection.cpython-313.pyc | Bin 1685 -> 1683 bytes ...oom_group_chatroom_visitor.cpython-313.pyc | Bin 926 -> 924 bytes ..._chatroom_visitor_and_more.cpython-313.pyc | Bin 1104 -> 1102 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 191 -> 189 bytes .../__pycache__/consumers.cpython-313.pyc | Bin 9860 -> 9858 bytes .../custom_context.cpython-313.pyc | Bin 6089 -> 6087 bytes .../__pycache__/routing.cpython-313.pyc | Bin 628 -> 626 bytes .../__pycache__/urls.cpython-313.pyc | Bin 6274 -> 6621 bytes .../__pycache__/views.cpython-313.pyc | Bin 36855 -> 39651 bytes .../add/__pycache__/urls.cpython-313.pyc | Bin 4075 -> 4302 bytes .../add/__pycache__/views.cpython-313.pyc | Bin 36396 -> 39216 bytes osinaweb/osinacore/add/urls.py | 1 + osinaweb/osinacore/add/views.py | 23 ++- .../edit/__pycache__/urls.cpython-313.pyc | Bin 3252 -> 3508 bytes .../edit/__pycache__/views.cpython-313.pyc | Bin 29720 -> 34517 bytes osinaweb/osinacore/edit/urls.py | 1 + osinaweb/osinacore/edit/views.py | 158 ++++++++++++------ .../__pycache__/0001_initial.cpython-313.pyc | Bin 3617 -> 3615 bytes ...ions_staffprofile_and_more.cpython-313.pyc | Bin 3793 -> 3791 bytes .../0003_milestone.cpython-313.pyc | Bin 1514 -> 1512 bytes .../__pycache__/0004_epic.cpython-313.pyc | Bin 1456 -> 1454 bytes .../0005_staffprofile_image.cpython-313.pyc | Bin 816 -> 814 bytes .../__pycache__/0006_note.cpython-313.pyc | Bin 1698 -> 1696 bytes ...ct_id_alter_project_status.cpython-313.pyc | Bin 1079 -> 1077 bytes ...8_alter_project_project_id.cpython-313.pyc | Bin 869 -> 867 bytes ...9_alter_project_project_id.cpython-313.pyc | Bin 858 -> 856 bytes .../0010_remove_note_date.cpython-313.pyc | Bin 717 -> 715 bytes ...r_alter_note_text_and_more.cpython-313.pyc | Bin 1797 -> 1795 bytes .../0012_projectrequirement.cpython-313.pyc | Bin 1313 -> 1311 bytes .../0013_projectfile.cpython-313.pyc | Bin 1416 -> 1414 bytes ...014_alter_projectfile_file.cpython-313.pyc | Bin 827 -> 825 bytes .../0015_projectcredentials.cpython-313.pyc | Bin 1416 -> 1414 bytes ...dentials_projectcredential.cpython-313.pyc | Bin 767 -> 765 bytes ...e_alter_project_start_date.cpython-313.pyc | Bin 987 -> 985 bytes .../0018_epic_status.cpython-313.pyc | Bin 903 -> 901 bytes ...date_alter_epic_start_date.cpython-313.pyc | Bin 945 -> 943 bytes .../__pycache__/0020_task.cpython-313.pyc | Bin 1912 -> 1910 bytes ...rprofile_business_and_more.cpython-313.pyc | Bin 2747 -> 2745 bytes ...ustomerprofile_customer_id.cpython-313.pyc | Bin 884 -> 882 bytes .../0023_task_assigned_to.cpython-313.pyc | Bin 1042 -> 1040 bytes .../0024_task_task_id.cpython-313.pyc | Bin 830 -> 828 bytes .../__pycache__/0025_status.cpython-313.pyc | Bin 1574 -> 1572 bytes ...e_status_user_status_staff.cpython-313.pyc | Bin 1157 -> 1155 bytes .../0027_alter_status_staff.cpython-313.pyc | Bin 1083 -> 1081 bytes ...8_remove_projecttype_color.cpython-313.pyc | Bin 727 -> 725 bytes .../0029_alter_reference_date.cpython-313.pyc | Bin 828 -> 826 bytes .../__pycache__/0030_tag.cpython-313.pyc | Bin 946 -> 944 bytes ...1_alter_staffprofile_image.cpython-313.pyc | Bin 834 -> 832 bytes .../__pycache__/0032_point.cpython-313.pyc | Bin 1438 -> 1436 bytes ...nt_date_workingon_and_more.cpython-313.pyc | Bin 1208 -> 1206 bytes ...nt_date_completed_and_more.cpython-313.pyc | Bin 1264 -> 1262 bytes .../0035_business_business_id.cpython-313.pyc | Bin 866 -> 864 bytes ...lter_staffprofile_position.cpython-313.pyc | Bin 1171 -> 1169 bytes ...move_staffprofile_position.cpython-313.pyc | Bin 759 -> 757 bytes ...taffprofile_staff_position.cpython-313.pyc | Bin 1066 -> 1064 bytes ...taffprofile_staff_position.cpython-313.pyc | Bin 1091 -> 1089 bytes ...0040_staffprofile_staff_id.cpython-313.pyc | Bin 866 -> 864 bytes .../0041_dailyreport.cpython-313.pyc | Bin 1467 -> 1465 bytes ...omerprofile_email_and_more.cpython-313.pyc | Bin 1162 -> 1160 bytes .../0043_businesstype.cpython-313.pyc | Bin 982 -> 980 bytes ...ove_business_business_type.cpython-313.pyc | Bin 731 -> 729 bytes .../0045_business_type.cpython-313.pyc | Bin 1056 -> 1054 bytes .../0046_task_requirement.cpython-313.pyc | Bin 1052 -> 1050 bytes .../0047_task_status_date.cpython-313.pyc | Bin 957 -> 955 bytes ...r_customerprofile_business.cpython-313.pyc | Bin 1111 -> 1109 bytes ...r_customerprofile_business.cpython-313.pyc | Bin 1079 -> 1077 bytes ...by_projectrequirement_date.cpython-313.pyc | Bin 1393 -> 1391 bytes ...051_alter_task_requirement.cpython-313.pyc | Bin 1082 -> 1080 bytes .../0052_note_project.cpython-313.pyc | Bin 1035 -> 1033 bytes .../0053_pointactivity.cpython-313.pyc | Bin 1310 -> 1308 bytes ...nt_date_completed_and_more.cpython-313.pyc | Bin 947 -> 945 bytes .../0055_alter_point_status.cpython-313.pyc | Bin 958 -> 956 bytes ...ter_pointactivity_end_time.cpython-313.pyc | Bin 843 -> 841 bytes ...otal_time_minutes_and_more.cpython-313.pyc | Bin 1110 -> 1108 bytes ..._total_time_hours_and_more.cpython-313.pyc | Bin 933 -> 931 bytes ...059_alter_task_requirement.cpython-313.pyc | Bin 1087 -> 1085 bytes ...0_pointactivity_total_time.cpython-313.pyc | Bin 843 -> 841 bytes ...date_alter_task_start_date.cpython-313.pyc | Bin 948 -> 946 bytes .../0062_connection.cpython-313.pyc | Bin 1579 -> 1577 bytes ...0063_alter_connection_date.cpython-313.pyc | Bin 810 -> 808 bytes .../__pycache__/0064_reaction.cpython-313.pyc | Bin 1603 -> 1601 bytes ...ter_customerprofile_status.cpython-313.pyc | Bin 946 -> 944 bytes ...business_business_customer.cpython-313.pyc | Bin 1194 -> 1192 bytes ..._customerprofile_confirmed.cpython-313.pyc | Bin 885 -> 883 bytes ...profile_confirmed_and_more.cpython-313.pyc | Bin 1082 -> 1080 bytes ..._projectfile_file_and_more.cpython-313.pyc | Bin 1183 -> 1181 bytes ...le_staff_position_and_more.cpython-313.pyc | Bin 1750 -> 1748 bytes ...jecttype_department_ticket.cpython-313.pyc | Bin 2328 -> 2326 bytes ...treaction_ticketattachment.cpython-313.pyc | Bin 2670 -> 2668 bytes ...073_alter_ticket_regarding.cpython-313.pyc | Bin 964 -> 962 bytes ...ed_ticketupdate_date_added.cpython-313.pyc | Bin 785 -> 783 bytes ...attachment_ticket_and_more.cpython-313.pyc | Bin 1315 -> 1313 bytes .../0076_alter_reference_date.cpython-313.pyc | Bin 825 -> 823 bytes ...oject_active_projectstatus.cpython-313.pyc | Bin 1728 -> 1726 bytes ...alter_projectstatus_status.cpython-313.pyc | Bin 970 -> 968 bytes ...e_alter_project_start_date.cpython-313.pyc | Bin 950 -> 948 bytes .../0080_project_logo.cpython-313.pyc | Bin 859 -> 857 bytes .../0081_status_task.cpython-313.pyc | Bin 1067 -> 1065 bytes .../0082_pinnedproject.cpython-313.pyc | Bin 1515 -> 1513 bytes ...ition_jobposition_and_more.cpython-313.pyc | Bin 866 -> 864 bytes .../0084_staffposition.cpython-313.pyc | Bin 1499 -> 1497 bytes ...sition_start_date_and_more.cpython-313.pyc | Bin 966 -> 964 bytes ...s_connection_terminated_at.cpython-313.pyc | Bin 979 -> 977 bytes ...087_remove_connection_date.cpython-313.pyc | Bin 755 -> 753 bytes .../0088_connection_date.cpython-313.pyc | Bin 814 -> 812 bytes .../0089_connection_connected.cpython-313.pyc | Bin 819 -> 817 bytes ...ed_at_connection_last_seen.cpython-313.pyc | Bin 783 -> 781 bytes ...0091_alter_connection_user.cpython-313.pyc | Bin 1219 -> 1217 bytes ...onnected_connection_online.cpython-313.pyc | Bin 770 -> 768 bytes ...93_connection_disconnected.cpython-313.pyc | Bin 845 -> 843 bytes .../0094_customuser.cpython-313.pyc | Bin 1094 -> 1092 bytes .../0095_delete_customuser.cpython-313.pyc | Bin 687 -> 685 bytes .../0096_status_date_time.cpython-313.pyc | Bin 822 -> 820 bytes ...us_date_remove_status_time.cpython-313.pyc | Bin 792 -> 790 bytes ...ojectcredential_identifier.cpython-313.pyc | Bin 821 -> 819 bytes ...redential_usedfor_and_more.cpython-313.pyc | Bin 979 -> 977 bytes ...ojectcredential_date_added.cpython-313.pyc | Bin 860 -> 858 bytes ...ate_projectfile_date_added.cpython-313.pyc | Bin 777 -> 775 bytes ...ctfile_date_added_and_more.cpython-313.pyc | Bin 1442 -> 1440 bytes ...rojectfilealbum_date_added.cpython-313.pyc | Bin 854 -> 852 bytes ...0104_projectfilealbum_file.cpython-313.pyc | Bin 851 -> 849 bytes ...ojectfile_project_and_more.cpython-313.pyc | Bin 2048 -> 2046 bytes ...106_alter_projectfile_file.cpython-313.pyc | Bin 888 -> 886 bytes ...remove_staffprofile_active.cpython-313.pyc | Bin 735 -> 733 bytes ...status_type_status_type_id.cpython-313.pyc | Bin 1057 -> 1055 bytes .../0109_remove_status_task.cpython-313.pyc | Bin 723 -> 721 bytes ...ojectrequirement_milestone.cpython-313.pyc | Bin 1055 -> 1053 bytes ...irement_userstory_and_more.cpython-313.pyc | Bin 1059 -> 1057 bytes ...ename_title_milestone_name.cpython-313.pyc | Bin 780 -> 778 bytes ...pleted_userstory_confirmed.cpython-313.pyc | Bin 959 -> 957 bytes ...114_alter_project_end_date.cpython-313.pyc | Bin 849 -> 847 bytes ...jectstatus_default_created.cpython-313.pyc | Bin 844 -> 842 bytes ...jectstatus_default_created.cpython-313.pyc | Bin 762 -> 760 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 193 -> 191 bytes .../add_templates/add-prospecting-list.html | 71 ++++++++ .../edit_templates/edit-addressbook.html | 3 +- .../edit_templates/edit-prospecting-list.html | 107 ++++++++++++ .../listing_pages/prospecting-lists.html | 122 ++++++++++++++ osinaweb/osinacore/templates/main.html | 2 +- osinaweb/osinacore/urls.py | 1 + osinaweb/osinacore/views.py | 25 ++- .../osinaweb/__pycache__/asgi.cpython-313.pyc | Bin 3160 -> 3158 bytes .../__pycache__/routing.cpython-313.pyc | Bin 439 -> 437 bytes osinaweb/static/dist/output.css | 27 ++- .../__pycache__/consumers.cpython-313.pyc | Bin 15976 -> 15974 bytes .../__pycache__/decorators.cpython-313.pyc | Bin 1456 -> 1454 bytes .../__pycache__/routing.cpython-313.pyc | Bin 634 -> 632 bytes .../support/__pycache__/urls.cpython-313.pyc | Bin 1492 -> 1490 bytes .../support/__pycache__/views.cpython-313.pyc | Bin 4850 -> 4848 bytes .../add/__pycache__/urls.cpython-313.pyc | Bin 681 -> 679 bytes .../add/__pycache__/views.cpython-313.pyc | Bin 2349 -> 2347 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 6674 -> 6672 bytes ...icket_departments_and_more.cpython-313.pyc | Bin 2227 -> 2225 bytes .../0003_remove_ticket_status.cpython-313.pyc | Bin 731 -> 729 bytes ...ened_date_ticketconnection.cpython-313.pyc | Bin 1961 -> 1959 bytes ...er_ticketconnection_ticket.cpython-313.pyc | Bin 1056 -> 1054 bytes ...etconnection_type_and_more.cpython-313.pyc | Bin 938 -> 936 bytes ...07_alter_ticketstaff_staff.cpython-313.pyc | Bin 1118 -> 1116 bytes ...08_alter_tickettask_ticket.cpython-313.pyc | Bin 1025 -> 1023 bytes ...etconnection_terminated_at.cpython-313.pyc | Bin 852 -> 850 bytes ...icketconnection_terminated.cpython-313.pyc | Bin 755 -> 753 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 191 -> 189 bytes 302 files changed, 483 insertions(+), 63 deletions(-) create mode 100644 osinaweb/osinacore/templates/add_templates/add-prospecting-list.html create mode 100644 osinaweb/osinacore/templates/edit_templates/edit-prospecting-list.html create mode 100644 osinaweb/osinacore/templates/listing_pages/prospecting-lists.html diff --git a/osinaweb/addressbook/__pycache__/models.cpython-313.pyc b/osinaweb/addressbook/__pycache__/models.cpython-313.pyc index 98024aa4dfa70228a2f7af83e708a82307b293a4..09b88c35eabbc0775aaa79cfe44bf2cff1fc8477 100644 GIT binary patch delta 257 zcmcbw{6v}eGcPX}0}${t{Y_`z$a{jFQDX8n_VbJqo0oB$c`6l-*Ai0HS4?AlxTQIvN)8syGDIOq`!;-Ox zD~2^lZ1O^O(aD>5CFIzGIW3us_=35L_|v&Hd2VqB=OI!)#hDBy|(I_VbM5o0oBtg;|_hueO?oqiXEy(fR;dc>$U`6l-*Ai0HS4?ANpYcQK7)8syGDIOq`-IB40 zD~2^lZ1O^O(aD>5CFEFxIV_or_<}i$_|v&Gxo>d?=Oy7X=)fJ&FXu ziYA{E2$lz{7XtCYf_y;MEe@O9{FKt1RJ)?2$qs^Ej69RO1>J<57(3GXb2@XrGB7hb IF@lu?0IwlW$N&HU diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-313.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-313.pyc index cd8ecf763752df191c9eb008ba69b55db690b07a..5e37b9d737e8bd763d20d2dbc1912405800224cb 100644 GIT binary patch delta 64 zcmbQsKAWBUGcPX}0}!~BeA~$F$E22`A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19`_h7kaVZWTrV delta 66 zcmbQuK9`;QGcPX}0}wb^Ufjs-$E1;_A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|*VA9%*)Hg00b^2-!^g|U{Nd34=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-TawFf(Zbcmlh!a delta 66 zcmeC=>*nMB%*)Hg00a(}7dLVrV9_Yj4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-kwt^k*3U1_%uC$-o4Jn>0JL8g^Z)<= diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-313.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-313.pyc index 74c5efa726389792f26b0a4e2b4eeedf7eb499b7..f14842b5ddbf9d69abf2d0eeab535130575028f8 100644 GIT binary patch delta 64 zcmcb~d7YE{GcPX}0}!~BeA~$F&#acAA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19utoDl%0aux*u delta 66 zcmcc4d6Sd-GcPX}0}wb^Ufjs-&#aN9A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|=;q-5%*)Hg00b^2-!^hjW>PEB4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-F%G6oe=<#iWThu delta 66 zcmeC?=;h%4%*)Hg00a(}7dLWGX3{9r4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#Sgvp%|0IJ6pO8@`> diff --git a/osinaweb/addressbook/migrations/__pycache__/0006_comment_prospectinglist_prospectinglistitem.cpython-313.pyc b/osinaweb/addressbook/migrations/__pycache__/0006_comment_prospectinglist_prospectinglistitem.cpython-313.pyc index 1a75d91bb2f4f40cb38c087ef8278e061e1d7c1d..7d9a5cdcab87707385992044cf4c6607525df3a7 100644 GIT binary patch delta 63 zcmbOwHbac-GcPX}0}!~BY~)(SuGXO+TAW%`te={jnUk8DlapDQs_&AYT$-DjS5mB> RoS%}Klvtd)`3}1sGXQh76>k6l delta 65 zcmbOsHcO1_GcPX}0}#~ZY~)(SuF<6*TAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW To?n!$pI@Arm$>;ByB#wCt1T8| diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-313.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-313.pyc index aa5971a7e5f63404b4ebe0660b9f9cec6533dd2b..3f282f25a89a95b934707797d1e74e539c09b409 100644 GIT binary patch delta 61 zcmX@ic#x6%GcPX}0}!~Be4EH^td^i3TAW%`te={jnUk8DlapDQs_&AYT$-DjS5mB> PoS%}KlvtcPF)bDVTWS?X delta 63 zcmX@ec$kss13A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1Ad3hYr-2A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|6GFA%*)Hg00a(}7dLWyFlhwnhZd(673&u#=49rk=Hz5nrs})oCzs}?=9Lud Uhvye%>*p6|<|S^fWa{Gv0G(|X00000 diff --git a/osinaweb/billing/add/__pycache__/urls.cpython-313.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-313.pyc index d2ab89301fb51200aa5f81d01ea5ff49abe46c16..c30e4d66624712bbce9454d938c35929fce6a9c4 100644 GIT binary patch delta 64 zcmcc3d6Sd-GcPX}0}!~BeA~#qfLSe2KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@OFr4n_d8#TG>X delta 66 zcmcb~d7G2_GcPX}0}wb^UfjsNfLSA0KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TMP?300M8T_qW}N^ diff --git a/osinaweb/billing/delete/__pycache__/urls.cpython-313.pyc b/osinaweb/billing/delete/__pycache__/urls.cpython-313.pyc index c09250598fd2235bf9ab1d5c6ce4aa1675378ae4..631874c6ee09cd01778f4057fcddd0543e41ea84 100644 GIT binary patch delta 63 zcmdnSvW12FGcPX}0}!~BeA~!f&8QZlA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ RpPZkPnv__aI(Z#q2LOU(76kwR delta 65 zcmdnOvWkspA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1Acu4l4kZyA}xm delta 66 zcmZ1}v|5P!GcPX}0}wb^UfjqX!>kdiA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|eKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o3hQ4+0Lf(*`2YX_ diff --git a/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-313.pyc index bcb8c4aea4c41a97af2a6b923cb25970f49b7b79..f1246fcfa5dd428fdc5964bb8c6f48eabdbea926 100644 GIT binary patch delta 63 zcmcc1dYhH|GcPX}0}!~BeA~#qg;A|oKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t RKRG`oH7T(;b@Fq@ZvdtC7gPWM delta 65 zcmcc3dY6^^GcPX}0}wb^UfjsNg;AqaKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%SQ^s!q!ABRe diff --git a/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-313.pyc index ccf6ca54feacff408a0967075c7b0cf333d04710..51f0aec80f7f8cc334b30393baab1240bd5a97ea 100644 GIT binary patch delta 64 zcmbQkF^hxyGcPX}0}!~BeA~#qj7hCPKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@NRoXGQ>;?iMKk delta 66 zcmbQmF^7ZuGcPX}0}wb^UfjsNj7g(NKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TbtY#<0JVh{hX4Qo diff --git a/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-313.pyc index 2ce258cfdf20ab374cc051e337264eb0e6a83f4c..20271c9e2034cf815e15d918b4ed8e07b1f50f31 100644 GIT binary patch delta 64 zcmX@fah!wuGcPX}0}!~BeA~!9pGj@1erR!OQL%n%Ze~tuYEDjOWvaeQesXDUYFgG#K<%|HfRTjagKxgGcPX}0}!~BeA~!^^0M*eJQ~&?~ diff --git a/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-313.pyc index 1f275166c386016a3910062cf16a705a9eda656e..4976ee71ed29d2cf2b0a7f72f43227724365bf7a 100644 GIT binary patch delta 64 zcmeC<>*3@6%*)Hg00b^2-!^g|VNsi^A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay7@bcI1>P)4i-}Y delta 66 zcmeC->*M48%*)Hg00a(}7dLVrVbPebA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|b%7 diff --git a/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-313.pyc index b966285eb8a23a6dc3b5d9147a77db61c754acb7..472e7244a2c278a4ed5002b973f366efa8010b17 100644 GIT binary patch delta 64 zcmeyx_JfW4GcPX}0}!~BeA~$F#-x^}A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19~xkr4p1NEOup delta 66 zcmeyt_KS`CGcPX}0}wb^Ufjs-#-x#pE|A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_LfxDI)-ih84{K delta 66 zcmbQlHHC}&GcPX}0}wb^Ufjr?!>o~{A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|O0H?|oS^xk5 diff --git a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-313.pyc index 0711f69d8b29230562336075eda16a38c0293266..afd27890401c1e40f89287129c0ed653b585d6eb 100644 GIT binary patch delta 64 zcmZqV`OnS$nU|M~0SH`5zHQ{TU{Q4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#y$uf-*0J0VqK>z>% diff --git a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-313.pyc index fb0b9f60231e9a66c193aa955494f34aeb99b6c9..7643f0cf3c869f1ddf164af97f1ed0e213968f06 100644 GIT binary patch delta 64 zcmbQvK9!yOGcPX}0}!~BeA~$F$E236A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19`_j1d5Zn-x0% delta 66 zcmbQrKAoNWGcPX}0}wb^Ufjs-$E1;~A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|^k*3U1_%uC#Sl*yVA0HW6x9RL6T diff --git a/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-313.pyc index bfc4ac60717d90ccef63f71a28143e651f9c5fc7..3f8d96b20b35efd6928feae18a1a9c9c0c85c78b 100644 GIT binary patch delta 64 zcmbQwK9`;QGcPX}0}!~BeA~z!#-x_5A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1A1{j1d5f8x>ms delta 66 zcmbQsKA)ZYGcPX}0}wb^UfjqX#-x#}A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|LZo delta 66 zcmcb>b%~4nGcPX}0}wb^Ufjq%msul4KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TIp!ut0M1tz7ytkO diff --git a/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-313.pyc index 2cb41f231cc0818fc359100cbb24f0544dd3e15a..35d4e3371c76755d72033f9c5e37ec2a45761615 100644 GIT binary patch delta 64 zcmZqV{LjJtnU|M~0SH`5zHQ{b&!kqXA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax><-hpAi7Ij}{;R delta 66 zcmey*(a6dDnU|M~0SFu{FK*<%&!kbWA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|V!Z diff --git a/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-313.pyc index 5e08737937458c29ad6423a4616619395bdc9047..fc62ab6173ad64502a50b110ef677252c86da615 100644 GIT binary patch delta 64 zcmaFK_MDCTGcPX}0}!~BeA~z^%B0q+A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4izCkr4o<%@vRU delta 66 zcmaFP_L7bJGcPX}0}wb^Ufjqn%B0b*A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|^k*3U1_%uC!{!NkT00I^UN!vFvP diff --git a/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-313.pyc index ea6628594b0290dbdf4564d85c9343cfd082d166..7b720044aaa9195de8a5468eda1ea00cb88b3894 100644 GIT binary patch delta 63 zcmX@YdWe<#GcPX}0}!~BeA~#qfKe?^KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t RKRG`oH7T(;b@FA#j{ucJ7VrQ7 delta 65 zcmX@adW4nxGcPX}0}wb^UfjsNfKj7BKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%SMaGW+ul^TK diff --git a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-313.pyc index 353574a25a9be0b2534e33fe6725025bc8a96921..f744e8641d3f58c8417f01037bf301e829905f9e 100644 GIT binary patch delta 63 zcmdnVww;apGcPX}0}!~BeA~#)!K9X=A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ RpPZkPnv__aI@y}(9{_TI6|n#S delta 65 zcmdnawv&zfGcPX}0}wb^Ufjsd!K9I?iK0) delta 66 zcmX@hah`+wGcPX}0}wb^UfjrijY%U@KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR#7JF^=j0MnlqNB{r; diff --git a/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-313.pyc index 05fbfc9dc919b305f8b52f132a3876efc0e2cf9e..3da45c315d6abf63419c20ff1db862786a5f3a70 100644 GIT binary patch delta 64 zcmdnMzK)&yGcPX}0}!~BeA~#K&ZL&DA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_K6p7$X3d%N3sh delta 66 zcmZ3-zJZg0I?<&{Qv*} diff --git a/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-313.pyc index 8f5222f912d68d04f9e49505125e38ef3859a28b..d52e954f31fc87c51fe15199b36a9268a4e98f9c 100644 GIT binary patch delta 64 zcmX@lc9xC%GcPX}0}!~BeA~z^&ZL&5A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j0~l@S1yq!lRu delta 66 zcmX@hcAkyA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|r~m)} diff --git a/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-313.pyc index b4f701bc9e744fbedd5befe22bab4991da839b70..6c14e59163b7731cfd4ad4d4c8b628cd1887c638 100644 GIT binary patch delta 64 zcmeC?=;Yx3%*)Hg00b^2-!^j3WKzq~4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-F$}0o)G|#QWfO@ delta 66 zcmeC==;q-5%*)Hg00a(}7dLXxWYWmf4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#Sipic40I7o(LjV8( diff --git a/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-313.pyc index 87a83ceaca46e46b8af890b32e2adc571bc82867..36837604b863e1b9bcec0eee1b30ea20967d6d0e 100644 GIT binary patch delta 64 zcmX@lc9xC%GcPX}0}!~BeA~z^&ZL&5A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j0~l@S1yq!lRu delta 66 zcmX@hcAkyn+a diff --git a/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-313.pyc index 5a09b5563869f294db206a3b6115c106ce49ad36..51a65f8cfc39d1f740e49d0c2df79b4adbcc2878 100644 GIT binary patch delta 63 zcmZ30LY3Kh5!Hn diff --git a/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-313.pyc index 423737fab4500fd682eb988edf4a88c5422febe5..f96a81adbfd943ef889a36599e82fe7b65a87f75 100644 GIT binary patch delta 64 zcmeC??BwMB%*)Hg00b^2-!^i;WKwI@4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-7LeL&j^k*3U1_%uC!X#hlLw0J{qoF8}}l diff --git a/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-313.pyc index 42203baeee44f39b0668864c047cee1dbb65b206..0262b6df2be0a5b2746934188d97ec16c8eccc00 100644 GIT binary patch delta 64 zcmZqR_{YxunU|M~0SH`5zHQ|0Vp40;4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-Mp8{nGpb~cNR(j delta 66 zcmeyz-oU~AnU|M~0SFu{FK*=SV$x{Q4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$7o5`6G0L6wDr~m)} diff --git a/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-313.pyc b/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-313.pyc index 4127a80908d5378c799eff65893700be976f7e48..80724b9bc6c46fbde9b17acb0592270b8fff21f4 100644 GIT binary patch delta 64 zcmZ3&vxtZLGcPX}0}!~BeA~!v%%WDIA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;c$yA0q&b1{LA} delta 66 zcmZ3)vxJBHGcPX}0}wb^UfjrS%%V}HA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E| PoS%}KlvtcPF)b1RSmG5n delta 63 zcmdnXxSx^xGcPX}0}wb^UYy8ntP!UlTAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW Ro?n!$pI@ArmpCyc5&&{P6_fw~ diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-313.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-313.pyc index ffd1559549c611b0d8dfb758f2b1889e4b227e1b..94e38435b8c0546331ba0e747c673710fda0c037 100644 GIT binary patch delta 64 zcmZn?X%ON5%*)Hg00b^2-!^i8XH$#O4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-K@oag9!khRu(z{ delta 66 zcmZn=X%gZ7%*)Hg00a(}7dLW$XVZw&4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#?!G41Y0J%37m;e9( diff --git a/osinaweb/customercore/add/__pycache__/urls.cpython-313.pyc b/osinaweb/customercore/add/__pycache__/urls.cpython-313.pyc index 1e34b2399301a15cbaa042fa7e427faa0ededbdd..26a9b8f8ac12c8ce86a1e7da3512a6dbb56e032b 100644 GIT binary patch delta 62 zcmZ3)ynvbeGcPX}0}!~Be4EJqOD#-4v^ce>SU)v4Gbc4QCnvKqRo^8)ximL5ucTN% QIX@*eDX}Sid+iCo?xSCnvKqRo^8)ximL5ucTN% SJijPgKfgFLFLAOqV<`ZfVHO1d diff --git a/osinaweb/customercore/add/__pycache__/views.cpython-313.pyc b/osinaweb/customercore/add/__pycache__/views.cpython-313.pyc index f036fdba2b739c8cd3e9a5f6aae067f60625dd0b..70a7800ea70f298dcfa75f701947594d702d1569 100644 GIT binary patch delta 64 zcmdlczeS$=GcPX}0}!~BeA~!v&aD=%A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;cy6hXnwd!WFUr delta 66 zcmdlYzfGR|GcPX}0}wb^UfjrS&aDxtA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|n?CSQYO8 delta 66 zcmeBIn5e-0nU|M~0SFu{FK*-x=GI8p4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$d!rjdR0IPWxO#lD@ diff --git a/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-313.pyc index e1be4a9bcf7ac91258f77bee87dacf552838ef1c..3efa9b617151264409fb9cc1782930adf12998c2 100644 GIT binary patch delta 64 zcmaFBagT%hGcPX}0}!~BeA~!AXM delta 66 zcmcb|@qmN-GcPX}0}wb^UfjrigGr-YKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR#7Cvzwx0N*_pivR!s diff --git a/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-313.pyc index 2b5111acaccd61b9d40097ebf901221dbc2334cc..a46fc57d15096a2b848cd92c8490e477f68c26d4 100644 GIT binary patch delta 64 zcmbQp)6c{GnU|M~0SH`5zHQ`|W>IU=4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-R#G5m=OSh3Kg9I delta 66 zcmeC@naIQanU|M~0SFu{FK*^k*3U1_%uC$t!*ZAr0GgW>`v3p{ diff --git a/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-313.pyc index 3fac679e64e06d9238d69d2bc81ba6a396e56f8b..96916d8c0a0b5f145d5b5ee19b40627410632e55 100644 GIT binary patch delta 64 zcmZqR`p3!rnU|M~0SH`5zHQ|8XI87$4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-Q2`n#|QwPVipbn delta 66 zcmeyz*}%p9nU|M~0SFu{FK*=aXV$3I4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$dz+A@&0J--TYybcN diff --git a/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-313.pyc index 1044bb8db3953c37dd58afdce4eae2251752de60..74dcac5a26b43c056b758f33246d88b277b48eed 100644 GIT binary patch delta 64 zcmX@kca)F&GcPX}0}!~BeA~#)%c@qOA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4iu1oe2PyHx(oR delta 66 zcmX@gcbt#=GcPX}0}wb^Ufjsd%c@bNA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|tW;m%*)Hg00b^2-!^hzU{veS4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-OS9y%?JRRu@yW3 delta 66 zcmeBS>to~o%*)Hg00a(}7dLWWVASZ+4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$N$i&SE0JVx0ng9R* diff --git a/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-313.pyc index b11a36a10135e5b0976c6d3e1933ed5e290b18ec..8886595cf0deee23aa3df4017a3dc60daf410895 100644 GIT binary patch delta 64 zcmaFH`Gk}EGcPX}0}!~BeA~!v#;jJYA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;c}%mJtA~a~385 delta 66 zcmaFD`HYkMGcPX}0}wb^UfjrS#;j4RA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|v6_SXGcPX}0}!~BeA~#qi%G3mKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@N*$2Sxy=uNHFv delta 66 zcmZ3@v6h4TGcPX}0}wb^UfjsNi%FwYKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TYbFOq0K&Ky(EtDd diff --git a/osinaweb/customercore/migrations/__pycache__/0013_alter_ticket_ticket_members.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0013_alter_ticket_ticket_members.cpython-313.pyc index 8ba3f049b771c08eec255dfce882ef80213d5233..c74c1f7ae70f9b16e8672267024b88c90832481d 100644 GIT binary patch delta 64 zcmZ3(zKWguGcPX}0}!~BeA~z!&!kqVA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_J_l6e9qYr4^X~ delta 66 zcmZ3*zJ{IqGcPX}0}wb^UfjqX&!kbUA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|#k2mk;8 diff --git a/osinaweb/customercore/migrations/__pycache__/0015_rename_department_ticket_departments.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0015_rename_department_ticket_departments.cpython-313.pyc index 7dd0f315d4ba81115820e57884bd1f46ad995940..8d6d2ed762789dfd22ab5b97155b80c56890e6d2 100644 GIT binary patch delta 64 zcmZ3)wt$WMGcPX}0}!~BeA~$Vj8UygKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+aTBCnEr-&lQLO delta 66 zcmZ3$wup`UGcPX}0}wb^Ufjt2j8UUSKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$oI1?u$0K*s+<^TWy diff --git a/osinaweb/customercore/migrations/__pycache__/0016_rename_ticketstatusupdate_ticketstatus.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0016_rename_ticketstatusupdate_ticketstatus.cpython-313.pyc index c26a983f9cdec3ca0f6aed48bb978b970c490acc..a6f457f1591e099bd0bfbad8ecd642d806b06b05 100644 GIT binary patch delta 64 zcmdnMzK)&yGcPX}0}!~BeA~$F%cRz#A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19YLfDr(e9u=Md delta 66 zcmZ3-zJZ&)#0I+uz`~Uy| diff --git a/osinaweb/customercore/migrations/__pycache__/0017_tickettask.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0017_tickettask.cpython-313.pyc index 16a205e5876be2983e7a572cb6210ca0b92c7054..cf842165de8f5b7ac90d423fc967e7a5e651c4df 100644 GIT binary patch delta 64 zcmZqWZsz9x%*)Hg00b^2-!^g|XI9J54=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-TaHWn-Kt(>K26n delta 66 zcmZqXZsq3w%*)Hg00a(}7dLVrXV%El4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-gSnd#0I_8j;{X5v diff --git a/osinaweb/customercore/migrations/__pycache__/0018_alter_ticketattachment_file.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0018_alter_ticketattachment_file.cpython-313.pyc index ebf24697803bd181ca58df5e3a62b60f4ca1a43e..b4cde1217360d1a41a7956d26dd154481774e6c4 100644 GIT binary patch delta 64 zcmX@dc7~1nGcPX}0}!~BeA~#)&7@YTA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j9NfDr(dX%#5| delta 66 zcmX@Zc8-nvGcPX}0}wb^Ufjsd&7@JSA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|GcPX}0}wb^Ufjt2kx3&(KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o60-v%0OHsdod5s; diff --git a/osinaweb/customercore/migrations/__pycache__/0020_alter_ticketattachment_file.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0020_alter_ticketattachment_file.cpython-313.pyc index 1191a40a91cb2d719209c51a812ae1c4fd8b1b0f..f939f8b068f57545cefbea2e9ab28dae1b6fa8e5 100644 GIT binary patch delta 64 zcmX@dc7~1nGcPX}0}!~BeA~#)&7@YTA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j9NfDr(dX%#5| delta 66 zcmX@Zc8-nvGcPX}0}wb^Ufjsd&7@JSA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|+E| diff --git a/osinaweb/customercore/migrations/__pycache__/0023_delete_file_remove_ticketattachment_file_and_more.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0023_delete_file_remove_ticketattachment_file_and_more.cpython-313.pyc index 94d64abb0a5123aaa7b503c859f18979d40485e2..5dc4ff2df58c04f73a7c724bad46ab6eafc9fe63 100644 GIT binary patch delta 64 zcmeC<=;7f0%*)Hg00b^2-!^i0GpY6KhZd(673-(wX6B@(=Hz5nrs})oCzs}?=9Lud SC+DZ6CM6c9Zr;Zfzz6`86BYvi delta 66 zcmeC-=;Pr2%*)Hg00a(}7dLWuGiglJ4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$7hbe#&0Iqr#VE_OC diff --git a/osinaweb/customercore/migrations/__pycache__/0024_remove_ticketattachment_ticket_and_more.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/0024_remove_ticketattachment_ticket_and_more.cpython-313.pyc index 88116c1c835a2364b2a0f54fe82d6fcfac2a5c1a..00dae72b7d78aed184c7977374b9007de6fc35be 100644 GIT binary patch delta 64 zcmdnMzmA{#GcPX}0}!~BeA~$VlSQpnKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+Zm@3ljji%@$z* delta 66 zcmZ3-zk#3oGcPX}0}wb^Ufjt2lSQLlKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o7HbO=0Mw)wzW@LL diff --git a/osinaweb/customercore/migrations/__pycache__/__init__.cpython-313.pyc b/osinaweb/customercore/migrations/__pycache__/__init__.cpython-313.pyc index dcd106406ec3e35de630ec280fcd0be6e5d13649..136b426b748b004323e6dc9603623187e7dbb648 100644 GIT binary patch delta 61 zcmX@Yc!-hvGcPX}0}!~Be4EH^td^)BTAW%`te={jnUk8DlapDQs_&AYT$-DjS5mB> PoS%}KlvtcPF)a=NTnrUT delta 63 zcmX@ac!ZJrGcPX}0}wb^UYy8ntdXoATAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW Ro?n!$pI@ArmpCyc4ghtB6{r9J diff --git a/osinaweb/customercore/payment/__pycache__/urls.cpython-313.pyc b/osinaweb/customercore/payment/__pycache__/urls.cpython-313.pyc index 3d1b9281b5fb587e8101fd9a9c810a41212991c7..b7364470e904a952cac382800896ff98dbe8b4fc 100644 GIT binary patch delta 64 zcmdnYwULYaGcPX}0}!~BeA~$Vf>|v}KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+a^!1S0^fM-`y} delta 66 zcmdnUwV8|iGcPX}0}wb^Ufjt2f>|R*KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$oB#Q(i0LPpa{{R30 diff --git a/osinaweb/customercore/payment/__pycache__/views.cpython-313.pyc b/osinaweb/customercore/payment/__pycache__/views.cpython-313.pyc index 8badc2c8b2f9b44ac8d569668a65f47198d4989d..15e7eec2d8f2caceb2c5990cccc23ef572717101 100644 GIT binary patch delta 64 zcmcaxcDs!GGcPX}0}!~BeA~z!z@!$fA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1AL@mIVOaMi-O- delta 66 zcmcazcDIcCGcPX}0}wb^UfjqXz@!nYA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|I-b=yrxq$HwczISG#53?dQHA}-Fsm-?BKGb$sYrD8+ zv9~Z5S&u8+&XZj9PeQ7XPo>nWp!8d4=GbMK&UurHkM3nPFAFu(u~ zt1rx6_{1VINs-A>Ps$>@*CUoHm#a}C5>N2Qqwz$dGaBdN3G)k|BtcTw3d&j$&XP<) zHDx`hXohAOjc$sfSRztnn%pHLq?ha_A~aq>`gxY6s$CrSr&-obRSC+fsHz(800p;5 zp_qakRCLXd^$NyTpuc)ZvZ=^HS(6P-qbsm|%p!@{Y>Gxu76d~TmH6l=;jXs2&0=>X*<07JtxYw0^u{BK-V!_21Y_Q^Rd1^6Xx?=!{_CnF{r8>HLxz@~ z8h2S!Oc$OrO_+#th{_&o7>;g+hX5~{^sp`KWGPoyIe?~KGE){Xsndy2p@ zLqX2@yx@3A91Nxqlb-9(1M-0azzq}v1SkSLKryfcSPGN?%dEM6Z}CnP%{m@?pVEbt z_587Sdp?bF*~#xHU~PKgeSm!PySg|78c6fgUZ524S^V_!H@C3r3T2%`{#M!*vi1%6 fr<|)+;s*ME#*~@72C8JMC_}Ad(A8I~xjGqA8Gq1}mLfgK+h%;I`0?IJbgo z73GF^6P;>HXo!mvhqfTX!Ir}Q!*6_ejQ%MyKt)2?YJ3A_n}>HY-r~a+uUt7%!v#dI>Ytm$dpY8PT>#k^U}BftU-IN+hhy!YbE z;Tj{^!TrCr%Qk0n4c?0cml0gJJPD@T@=>?tpRf8csWar0yb!y5lUQ&RMv> UNwI!%eoAUmVsYx`DCWHz0q>j__y7O^ delta 68 zcmbRGifQ^QChpI?yj%=G;9z-iBey!UMu>iBacWVqesN+>W^QUuPG)7QzDs^`X>Mv> WNwI!-eo?l5esN}A;^qkEy&C}xQ5aPK diff --git a/osinaweb/osichat/__pycache__/routing.cpython-313.pyc b/osinaweb/osichat/__pycache__/routing.cpython-313.pyc index c4037a2fcdb95184ddb3b39aa2cc1c19d888eebe..0594ceeff610e04d062b2b6b0eeb1d104dbb1fa1 100644 GIT binary patch delta 63 zcmdnOwuz1VGcPX}0}!~DeA~$F%%m2eA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ RpPZkPnv__aI=PH#9{_jG70Lhr delta 65 zcmdnQwuO!RGcPX}0}wb^Ufjs-%%l;dA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ TAD&;7t)E| diff --git a/osinaweb/osichat/__pycache__/urls.cpython-313.pyc b/osinaweb/osichat/__pycache__/urls.cpython-313.pyc index 570fda4bb02330bfab885cd3e44281ebb6a4875e..96533a5cddeb47ad81dec7e7905d32c48e4c63c1 100644 GIT binary patch delta 63 zcmX@ca)gEZGcPX}0}!~DeA~#~%&6w8A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ RpPZkPnv__aI(Zx81OSS-7B>I@ delta 65 zcmX@Ya*T!hGcPX}0}wb^Ufjst%&6h7A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ TAD&;7t)E|3w8jMcA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|GQTGcPX}0}!~DeA~z!!lV|VA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1AX{0XqP*4;H@w delta 66 zcmaDV@?3=bGcPX}0}wb^UfjqX!lV(UA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|^k*3U1_%uAfy$k+z}fdLi9 diff --git a/osinaweb/osichat/api/__pycache__/views.cpython-313.pyc b/osinaweb/osichat/api/__pycache__/views.cpython-313.pyc index 97693dd7a0f3302e41df6104d1b1e5f9a1027440..faed619c456fcd93306770c433b1cf98bf8093f8 100644 GIT binary patch delta 64 zcmbPYJjs~*GcPX}0}!~DeA~#qi$g6)KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@N+}K80OU{>n*aa+ diff --git a/osinaweb/osichat/migrations/__pycache__/0002_chatroom_guest_session_alter_chatroom_created_by_and_more.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0002_chatroom_guest_session_alter_chatroom_created_by_and_more.cpython-313.pyc index 333755077a96fe703d2ba3b9403c360a2c3b5c42..f0e2fc16435baa0518ed9120ee0c455cf0246e86 100644 GIT binary patch delta 64 zcmey%{hOQnGcPX}0}!~DeA~!Sh6!w~PSVP8Tl# delta 66 zcmey({g<2jGcPX}0}wb^Ufjrimsw+qerR!OQL%n;VoqjmYEDjOWvaeQesXDUYFfGcPX}0}wb^UfjqX%&gI-A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E| diff --git a/osinaweb/osichat/migrations/__pycache__/0004_chatroomguest_room.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0004_chatroomguest_room.cpython-313.pyc index 096a9e7f7ea27a14c8be3112fb5643645a70d0aa..a7dc38e772fdb65263abcfe35f5c8e6a61651a3b 100644 GIT binary patch delta 64 zcmZ3$F^_}$GcPX}0}!~DeA~#qj!7+BKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@M|edqx1A$`&~Q delta 66 zcmbQov4Dg7GcPX}0}wb^UfjsNj!7d|KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TeI|QG0JuaJmH+?% diff --git a/osinaweb/osichat/migrations/__pycache__/0005_alter_chatmessage_member.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0005_alter_chatmessage_member.cpython-313.pyc index 370040ffbda15bef938f570935db3cda61ed233f..86e3e702d6209ed502af6a235a96fc7798fa5bf1 100644 GIT binary patch delta 64 zcmX@hd76{^GcPX}0}!~DeA~z^#jIASA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4jbxfe`?iI2E=4 delta 66 zcmX@jd6tv=GcPX}0}wb^Ufjqn#jH`RA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|^k*3U1_%uC#Sn#qO{0H`JwI{*Lx diff --git a/osinaweb/osichat/migrations/__pycache__/0008_alter_chatmessage_room.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0008_alter_chatmessage_room.cpython-313.pyc index 0a12c07a5e730c9b5f4403728a81f0650265dae5..c90a3300dcc16f7317093719425960a8b0f0cce5 100644 GIT binary patch delta 64 zcmZqWXy)Ml%*)Hg00gcj-!^hjU{cH14=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-F%qIi4g#cRu#?w delta 66 zcmZqXXyxGk%*)Hg00a(}7dLWGVA3em4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#SkjaS=0HrV%D*ylh diff --git a/osinaweb/osichat/migrations/__pycache__/0009_visitor.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0009_visitor.cpython-313.pyc index d6ed9bdb8c6387683f6cb1c16e219354caca1b14..1df2ccd3b4598f4af9af3c63be0c0a564bd28d5a 100644 GIT binary patch delta 64 zcmZqR{KvulnU|M~0SH`6zHQ`YVOC4f4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-E7Y6$p`?7fE6bI delta 66 zcmeyz(ZI?5nU|M~0SFu{FK*;!Vb(~}4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#C%IwJq0HqQYga7~l diff --git a/osinaweb/osichat/migrations/__pycache__/0010_visitor_left_date_visitor_visit_date.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0010_visitor_left_date_visitor_visit_date.cpython-313.pyc index 7f8051b3a585fcb028df64735462e89f7292851e..6d6e5416efde22b52be07e8830745ed36a313327 100644 GIT binary patch delta 64 zcmZ3$K98OIGcPX}0}!~DeA~!v#-vuOA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;c}{oDl$s)D=+x delta 66 zcmbQozJQ(kGcPX}0}wb^UfjrS#-vfNA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|e8vpl@@3K delta 66 zcmZ3R diff --git a/osinaweb/osichat/migrations/__pycache__/0015_chatmessageseen_guest_alter_chatmessageseen_member.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0015_chatmessageseen_guest_alter_chatmessageseen_member.cpython-313.pyc index f227062c13791f171d0b13d450075193fc69a7e5..52b05f5691437c4ebe35ba6f610a780fef7ee9a9 100644 GIT binary patch delta 64 zcmey*{g<2jGcPX}0}!~DeA~$Vidn5&KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+atXBSrw+krz7v delta 66 zcmey%{hyorGcPX}0}wb^Ufjt2idmyqKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$oG|MAK0QpT9m;e9( diff --git a/osinaweb/osichat/migrations/__pycache__/0016_chatmessageseen_seen_date.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0016_chatmessageseen_seen_date.cpython-313.pyc index d814ff24175f8ef29eb1c3a751fbe1d628ffc5b5..bfc74f17e468bbc44d14e00564ffa7491557ea89 100644 GIT binary patch delta 64 zcmcc3c9V_!GcPX}0}!~DeA~z^&!kqQA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;co6lMw)(uN7VZ delta 66 zcmcb~cAJg+GcPX}0}wb^Ufjqn&!kbJA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|^k*3U1_%uC!no$WId0Ih)*)c^nh diff --git a/osinaweb/osichat/migrations/__pycache__/0019_visitorlog_visitor.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0019_visitorlog_visitor.cpython-313.pyc index 6317e75e2cc3619da5c480e2c7229c84ca89d0dd..f64addc0a293fbe1445d138a08e82f16a483b8c0 100644 GIT binary patch delta 64 zcmZ3^v6O@RGcPX}0}!~DeA~#ql}RmIKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@K}*dqx1Fnif?6 delta 66 zcmZ3=v7CeZGcPX}0}wb^UfjsNl}RI4KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TGbVdR0KGmIvH$=8 diff --git a/osinaweb/osichat/migrations/__pycache__/0020_chatroomreview.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0020_chatroomreview.cpython-313.pyc index b352caab05e11ee96d5dc5cb2424b503e5e3a7b5..5082d6bd29fdb49a8b2a88e9bb02fb98d5cebf0e 100644 GIT binary patch delta 64 zcmX@db%u-kGcPX}0}!~DeA~!9omnkiKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@M6a7DfQD_7<)H delta 66 zcmX@Zb&iYsGcPX}0}wb^Ufjq%omnGOKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%T3Fa0?0L%Or3jhEB diff --git a/osinaweb/osichat/migrations/__pycache__/0021_chatroomreview_details.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0021_chatroomreview_details.cpython-313.pyc index e96c1e40764e5e92800eafee740d925c3731e7b2..4290d58016be3686bb3745296bb12043fa6c23ee 100644 GIT binary patch delta 64 zcmdnawv~2u2 delta 66 zcmX@jewLm4GcPX}0}wb^UfjqX&7@JUA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|{A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|j9{>OV diff --git a/osinaweb/osichat/migrations/__pycache__/0026_visitor_region.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0026_visitor_region.cpython-313.pyc index 1a02f35420a28226116a12537993f2cbf71c8c78..93bb0f60f27aac34abc489150de4f59ec157f807 100644 GIT binary patch delta 63 zcmX@jc9M RoS%}Klvtd)*_er)5deTV6w3er delta 65 zcmdnNwu_DXGcPX}0}wb^UR=n{q*1INTAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW To?n!$pI@Arm$=!GiJcJungU-74=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-F%M8j1d5g<`vce delta 66 zcmZqTXyM@g%*)Hg00a(}7dLXxX3{9s4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC#ShRKW(0H)FwGXMYp diff --git a/osinaweb/osichat/migrations/__pycache__/0031_alter_chatnotification_users.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0031_alter_chatnotification_users.cpython-313.pyc index 139534a65042246c213e3d7f59f340aa5d46f263..dcfe56b9a1e3d86ca0578df4d44a39dd95b44351 100644 GIT binary patch delta 64 zcmbQlF@b~oGcPX}0}!~DeA~#qkV&mnKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@LS_J4OJO2o?+g delta 66 zcmbQhF^PlwGcPX}0}wb^UfjsNkV&IlKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TB_=yY0I)>i_@% diff --git a/osinaweb/osichat/migrations/__pycache__/0033_chatconnection.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0033_chatconnection.cpython-313.pyc index 394229fac9884475e1a7e029c0f575cd5b2ec171..9da1f385c438b908a6b1d8643524c14e44c891bb 100644 GIT binary patch delta 64 zcmbQrJDHdJGcPX}0}!~DeA~#~&7zjBA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_KYVbw&V`+7^ER delta 66 zcmbQtJC&FFGcPX}0}wb^Ufjst&7zU1A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|D+yDRo diff --git a/osinaweb/osichat/migrations/__pycache__/0034_chatroom_group_chatroom_visitor.cpython-313.pyc b/osinaweb/osichat/migrations/__pycache__/0034_chatroom_group_chatroom_visitor.cpython-313.pyc index 1435e0172c79bfc28f5953e41a00fda8b68a570d..be7b2f063ed03c9dca668c6bf085f576a54bf6a7 100644 GIT binary patch delta 64 zcmbQoK8KzAGcPX}0}!~DeA~!v$)r}HA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;cl*h!FsXjTK1% delta 66 zcmbQkK98OIGcPX}0}wb^UfjrS$)r)GA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|agKxgGcPX}0}!~DeA~#qi%G3tKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@N-MWJUnK78dyc delta 66 zcmX@dae;&TGcPX}0}wb^UfjsNi%DamerR!OQL%n;VoqjmYEDjOWvaeQesXDUYF PoS%}KlvtcPF)b1RSrQdD delta 63 zcmdnXxSx^xGcPX}0}wb^UYy8ntP!UlTAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW Ro?n!$pI@ArmpCyc5&&{P6_fw~ diff --git a/osinaweb/osinacore/__pycache__/consumers.cpython-313.pyc b/osinaweb/osinacore/__pycache__/consumers.cpython-313.pyc index 88a54d1ae31e625e6bf12bf7a32a307013bc83d6..59f8cb548974baf32b7409e790f2c5043912a460 100644 GIT binary patch delta 64 zcmZqiZSv**%*)Hg00gcj-!^jhv#5pWhZd(673-(wX6B@(=Hz5nrs})oCzs}?=9Lud SC+DZ6CM6c9Za&0vND%<32^QS| delta 66 zcmZqjZSm#)%*)Hg00a(}7dLYEvuK3rhZd(673&u#=49rk=Hz5nrs})oCzs}?=9Lud Uhvye%>*p6|<|S@Ez;Z|t0K>l*IsgCw diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-313.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-313.pyc index f4b3ff9373f1fc8b95c13e9e43f8c0ee193fca04..9ce71d5dfdd3c4d7a7855d1ff845ef4af76cf1fb 100644 GIT binary patch delta 64 zcmX@9e_WsYGcPX}0}!~DeA~#a%&QiuA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;c!um> delta 66 zcmX@Ee^Q_OGcPX}0}wb^Ufjs7%&QTtA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|-?VE_OC diff --git a/osinaweb/osinacore/__pycache__/routing.cpython-313.pyc b/osinaweb/osinacore/__pycache__/routing.cpython-313.pyc index cbcbb62fd2d0b7255a042c8e99129f5d0bf786d7..f1dcd0c8791d4c252f98a9818e91f19521bf1e86 100644 GIT binary patch delta 63 zcmeyu@`;7}GcPX}0}!~DeA~#qm{BcAKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t RKRG`oH7T(;b@DaFc>t&27Ulo| delta 65 zcmeyw@`Z)_GcPX}0}wb^UfjsNm{B7{KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%S6~=i0!t)nH diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc index a7ca243fdabe1ba00d4291bbad1547b7d442263e..36def678589fe2e981fd7517b179d0dea1eb6437 100644 GIT binary patch delta 1461 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 Kx|@_f9{qnBno(2$ diff --git a/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc index 0dc038d651dcec4ef610de73ac70b72b24060206..7b7cb5b0acd4cff483cb171ed274facc113cab0d 100644 GIT binary patch delta 1184 zcmZwG%}*Og6aa9KJ%-v~yN0a4_^^$!>&W%m5bR(a+k_^3*gycwO;TBhu}KxC6c zD^(~rPL^Gduh7 zI{0_k`PSjEo5baAN=0_};maoZ{+S;s^JG=1%KDUp z_Ih$_qqUnl>lBXBle+ae6`}LOPj#8!beOER{l0d?@WjCr*M0pyB3gX1tbe)>JoIqpFD6nlK_%wg%E zr1^nf;%?QoWq#wqe4t%3lo%*6tqyd8d$GYMr;2G-Bc6wN{+SANnfp-!Qq&WxkuF2J ztS{dOy3PBL`Xwc_nvtwPvZAkS0R4^+APuq`4kaJNFeIxkY8fL@f<)=rHqaUmqYOz& zohZgg1x7^wJ)rA6f;7y2aVP^(3_llD``&i+P(4tO#TG|+64NRJNAF$=!?c_ydun~^ z{L`r~tOEUpk06Xn2p%g&I1AzIsgMPJ31v)5#6h6-UT6|nQ zwE>;tmoYys@^~LcPYilu+Sfp@@Vy+$1d4n^De$NC>@?6Bo=3TYGH_%ye52qS)pH9# z7kL4t_aw+vW8JDq4w?8 TNSuf-?kc~H^r)*@7Jt!y!PaR} delta 948 zcmZwGO-vI(6bJB5nIbJx3bdsKq>!bhP$=cAl$KJ!wiJ*k5I%xLKq15rhyhIWpu}5` zZN>zSaB`0jE_f0W4<;sN-)W2qQO{n+n0WHwyd^Q3u*pu|{(o;~H@mYR>%V)fKTAq1 z26?2mf32Na@>ZAe9X;|76JlqNi9%fL6;T+IS0Bh6sbvjDMUEMx!W5&O?HK1s4f`ZB zANwsw|8ZS`hmbHEpo$z<C3Wn;k~y{&&yezZdGpVf z<&~Ai?fds0u5NGo*wd@KI~f@hd2VeL7!0C-5OQv)IX6^@!a%9<8!gJZb180b279yC zJ_vM3m}LH=&|orWt8=T|=?AA@eGW7(t{@a$0%imYf-Bd(o5&|rH_%Q|jPXqy=2f|A z?(l)br!D}EiZYaP37Xlbnz%m({@7^{=!B?1vFj2%H1W_VghsWAb)XxV|0XSc8|Z@Y zAo(O^D|6o6U_QA23~0M(#MrOTsNe5?-G9)pMKVA~L=!@@4&f8iTk9LEHogdSNdypD z*jKClQ7e`~y+_%f=H3{1W7^Op&?(V|6#94F6El8iuhs0?X6qd><*0%d?8IdcwP)&OMy~65 zn{y$h*XfJCfI7`v1Ud)S}czJXlqVw9a q+?g-Ln2tAC-sWr^*Xv1r4bPsJR|TLda40v|pqN5>S-hE+zr!B_t|$5c diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc index 6c35f82a518446b0f341053653401ee612fc998a..a0d1dbeea24584c7329ed36c3763b58979493c34 100644 GIT binary patch delta 9074 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 C??U?k delta 7074 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 MYe%zPX+Z2}+Ss@9; zXQtTc-{MbA$t*z52y#SR@H_eUTK1kOmPlAVL;I$W7Mcs^A6%1S1d^t1xZe z$d$pU^^k?*0;kT3)a!aK7xi2&c*k61iMAK4~L^Yn4s O%JVZdau=BajQ{`vCvP(V delta 124 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 delta 5883 zcmb_g3virO72bbe+0E`IX_9R=X&#%JG;D23UpBS0rEN$biA^F2ZIOg^ll<9klk6_{ z-%wf{x3%?w50GAD7;un|f_8iix;hLqIy^=lk&aja(O*y*TLEDZ#~P2viE7dc46;z2uH6|I9ccDbM?A~o5#++vR;qy@YqFquki9%>nqQ%p!N9*BR@tX zfgyK;?IYNlKB9u;GM2MSQArAq#h{90uSH%!a=AsWCfR3^Ye@E6 zmXl>`vwoU19dSKlI%f@Chycl=0#Jz=50uH+jBYxO*!8-o!ps6dHJ}FI0{8$S~ib@F6fw~HFt64lb< zTcg#Y68=lp|wocww)jA84{=z6$vw%T?U!s@v3-O(FN@~z()aV02>KR zPf|Y+oleD5f};f+h?YO19Tow7B9V!X^{8X z*{keg0Xs z&~EcH%$qQxY9SRnXV@kfUIFL;E%(nf56H~`?R#xABWZ_61r zFV8#WLoLDVAj}*Fm8(C$SrjQGhOp2u;3@#u1GCl-ky)!!tg&Jbw0i+p12~gDff0f+ zD?wzTRudC~ovR>iAUYFEg5W4=2jnNiom!i`Ib0v&{PHukdB4OYE%nvhL*Yt0CD9X$ zyS25J%EmU%iC9LDI0QSx?PMQZ*bUePz{H_WFe^ve8h3IFxCRrT#th`iqJ+!L8tTBf zBa{l>Wer|F(pFo=*#V031tQP3wYa88eq4InZzq@UX+NO_;Bv$+IC1yL{*F4%ase;M zfkZN?PvqTDM|&+zu(j!)(5Ll`Zo0>XPH_q(qUqe#GrUE>ONyI&RN*)b2WiO{RjSpQ zR6IVdN7IR9bdFGi44#)~IwU3QJ?-_mTQ6B|R}N~5L%%$=bcGg??=J08#pu0?y7y2f zB@UY2T~v?MeUtgt#f~!b^YUz#b`jSD4ghWd%xkZ1cHQ*Qa^fH|;Sh`t5||#L8|hTi zSgorrgfnA;^Kk_^MR2J^)wgF-6R~N58}SwS=7(R%_u{vfb-5afb;y2lN^nKi%5AHf z+mSJ*FJ>5tIGsW?lQMl1x-l*i=}aP(%ol^aY1Mis5?vlyw@^N}%CCrV4#$isKE?SJ z$yGX!65c+D?VLU7#JFJY*ps8A6vr^*MNAx$x*0!*na=~xugVV9%szt|F3Sp)2duaW z+Ajk3%3D^~*MAAaLWY=SI_(a=kI6??*RJ9%IE^dFPO&_PDvP|#b_TH?Clf7Kw#G@- zDE({S4IaVT+~v6RA`owq&0Q<6<~sW_VaZ$&Mfch0)A%;KW=#P3ovudLZ8Wt? zKGt=B{MfQ?Y$KDPE^N~o6LG_IPaVL&>id{RP}YDzgSdkxw#&b+Yg5%AS8OvaPlrzF zSbxP{Y;Klcp{HXaGlO0|FCad{V!L2hR9%{ZiNd$Q_+7M8u|nlH)(2g8lj`I0!Sy=z zik8dn)vCC?@sdpIUGk|7JF<6@RiuKi0x?2k@pZtwYoL@{*wNC*tu$5SI|4dCoI3$i zY-F6z)&hMZNEd$IT3r<1B(tczf8)LH>9ue3d0v~o-qhG&%1CfkeGuO7PmQJX>%sf` zF7&>MuM={gyeI4EoVhqjwki3~&E!2=;01>+xAqNj`d)@bOVL{Tv@7QxMRSyXkG^j? z@0Hyl*AGZ_MD}+l)ZV$%-3?lh&zz5&51ucu(D9y2vUnLs%GJ3yyq7ak|g?(D$`uMkSh#jy6I zu?46oc5j4YdiXt_$Q(3%ikB#P?!ei!4z6%>Z3gAQ?x0Wnh0GsD*4-et>}$#0J~)b( zH0TLjxzCa1qy9PBh+hDH1$YebYXIUDj{}|nd;xHTAW~c8LHrI{#R5i80-gdq4fs8v zK#X_>B4`nR0PN;$_#=izE^xXWaKxi-UUN>NjKF~S6X00@wl+W=E+KsA*JJPQ_VVXR zbrzB99Qhr)d*>qm-=1@Jj@)z)#^_Zrq2dM&C+%tvENVIj(t7foH{2P{n-%%^EzOJ5 z1d+OuR1^tlg(Z_xV8L`w$K>oa!JSM_k&RMh@WB@o!&jOS`Q$b2?FBZ(bJ+9G1cr}* zNl`%5G>z1ize3tFJ54WVYDPzDh??AWqwgqM#NY6J&IL}5GZ4=L{thUzP)vx0@1F(n z0v3A_@DhN@n7lX}#nj0E;4YOK|G;W50}6~7UJ?sD5DU9vt>v$hZV6au0t<3<3E zv06=4M{evlj%BD0)7zbzN#lotB~3(u64NGV2`U=-{mJ!vi_{boB=iALBQKBF_g|cv zd5Kb4I#J-N;z!;W?~fD+vZM_DSE)di8X#@2`(w#?ivGJIlUBb^=QOio+7KRCd*z{{S7n!AxD>D%&/status/', views.edit_ticket_status_modal, name='edit-ticket-status-modal'), path('addressbook//', views.edit_addressbook, name='editaddressbook'), + path('prospecting-list//', views.edit_prospecting_list, name='editprospecting-list'), #Mark Points path('mark_point_working_on///', views.mark_point_working_on, name='mark_point_working_on'), diff --git a/osinaweb/osinacore/edit/views.py b/osinaweb/osinacore/edit/views.py index 51e0179b..21993dd8 100644 --- a/osinaweb/osinacore/edit/views.py +++ b/osinaweb/osinacore/edit/views.py @@ -1,7 +1,7 @@ -from addressbook.models import AddressBook, Country, Contact, Group +from addressbook.models import AddressBook, Country, Contact, Group, ProspectingList, ProspectingListItem from osinacore.models import * from django.shortcuts import render, redirect, get_object_or_404 -from django.http import HttpResponseRedirect +from django.http import HttpResponseRedirect from django.urls import reverse from django.http import HttpResponse from osinacore.decorators import * @@ -12,12 +12,12 @@ from support.models import * def edit_customer(request, customer_id): customer = get_object_or_404(CustomerProfile, customer_id=customer_id) - #Utilities + #Utilities references = Reference.objects.all() if request.method == 'POST': - + customer.user.first_name = request.POST.get('first_name') customer.user.last_name = request.POST.get('last_name') customer.user.email = request.POST.get('email') @@ -31,11 +31,11 @@ def edit_customer(request, customer_id): reference = get_object_or_404(Reference, id=customer_reference) customer.reference = reference customer.save() - - return redirect('customerdetails', customer_id=customer.customer_id) - + return redirect('customerdetails', customer_id=customer.customer_id) + + context = { 'customer' : customer, @@ -57,7 +57,7 @@ def edit_customer_status_modal(request, customer_id): } - return render(request, 'edit_templates/edit-customer-status-modal.html', context) + return render(request, 'edit_templates/edit-customer-status-modal.html', context) @@ -68,7 +68,7 @@ def edit_business(request, business_id): customers = CustomerProfile.objects.all().order_by('-id') if request.method == 'POST': - + business.name= request.POST.get('name') business.financial_number = request.POST.get('financial_number') business.commercial_registration = request.POST.get('commercial_registration') @@ -87,15 +87,15 @@ def edit_business(request, business_id): business.type = None new_logo = request.FILES.get('logo') - if new_logo: + if new_logo: business.logo = new_logo business.save() - - return redirect('businessdetails', business_id=business.business_id) - + + return redirect('businessdetails', business_id=business.business_id) + context = { 'business' : business, 'business_types' : business_types, @@ -108,12 +108,12 @@ def edit_business(request, business_id): @staff_login_required def edit_staff(request, staff_id): staff = get_object_or_404(StaffProfile, staff_id=staff_id) - + if request.method == 'POST': staff.user.first_name = request.POST.get('first_name') staff.user.last_name = request.POST.get('last_name') staff.user.email = request.POST.get('email') - + active = True if request.POST.get('active') else False staff.user.is_active = active staff.user.save() @@ -129,14 +129,14 @@ def edit_staff(request, staff_id): staff.intern = intern staff.save() - + return redirect('userdetails', staff_id=staff.staff_id) - + context = { 'staff': staff, } - + return render(request, 'edit_templates/edit-staff.html', context) @@ -149,7 +149,7 @@ def edit_project(request, project_id): staffs = StaffProfile.objects.all().order_by('-id') current_manager = project.manager customers = CustomerProfile.objects.all().order_by('-id') - current_client = project.customer + current_client = project.customer types = ProjectType.objects.all().order_by('-id') @@ -180,10 +180,10 @@ def edit_project(request, project_id): project.start_date = request.POST.get('start_date') project.end_date = request.POST.get('end_date') - + project.save() - return redirect('detailed-project', project_id=project.project_id) - + return redirect('detailed-project', project_id=project.project_id) + context = { @@ -219,7 +219,7 @@ def edit_project_status_modal(request, project_id): } - return render(request, 'edit_templates/edit-project-status-modal.html', context) + return render(request, 'edit_templates/edit-project-status-modal.html', context) @@ -266,7 +266,7 @@ def edit_task(request, task_id): if request.method == 'POST': task.name = request.POST.get('name') - + project_id = request.POST.get('project') project = get_object_or_404(Project, id=project_id) task.project = project @@ -278,7 +278,7 @@ def edit_task(request, task_id): epic_id = request.POST.get('epic') epic = get_object_or_404(Epic, id=epic_id) task.epic = epic - + task.userstory = request.POST.get('requirement') task.status = request.POST.get('status') @@ -286,7 +286,7 @@ def edit_task(request, task_id): assigned_to_id = request.POST.get('assigned_to') assigned_to = get_object_or_404(StaffProfile, id=assigned_to_id) task.assigned_to = assigned_to - + task.description = request.POST.get('description') task.start_date = request.POST.get('start_date') task.end_date = request.POST.get('end_date') @@ -307,12 +307,12 @@ def edit_task(request, task_id): @staff_login_required def edit_task_status_modal(request, *, task_id): task = get_object_or_404(Task, task_id=task_id) - + if request.method == 'POST': status = request.POST.get('status') task.status = status task.save() - + # Reload the parent page using JavaScript response = HttpResponse('') return response @@ -320,26 +320,26 @@ def edit_task_status_modal(request, *, task_id): context = { 'task' : task, } - + return render(request, 'edit_templates/edit-taskstatus-modal.html', context) @staff_login_required def edit_epic(request, *args, **kwargs): - + context = { } return render(request, 'edit_templates/edit-epic.html', context) - + @staff_login_required def edit_department(request, department_id): department = get_object_or_404(Department, id=department_id) - + if request.method == 'POST': department.name = request.POST.get('name') department.save() @@ -354,7 +354,7 @@ def edit_project_type(request, projecttype_id): projecttype = get_object_or_404(ProjectType, id=projecttype_id) departments = Department.objects.all().order_by('name') - + if request.method == 'POST': projecttype.name = request.POST.get('name') projecttype.department = get_object_or_404(Department, id=request.POST.get('department')) @@ -369,7 +369,7 @@ def edit_project_type(request, projecttype_id): def edit_job_position(request, jobposition_id): jobposition = get_object_or_404(JobPosition, id=jobposition_id) departments = Department.objects.all().order_by('name') - + if request.method == 'POST': jobposition.name = request.POST.get('name') jobposition.department = get_object_or_404(Department, id=request.POST.get('department')) @@ -387,7 +387,7 @@ def edit_job_position(request, jobposition_id): def edit_business_type(request, businesstype_id): businesstype = get_object_or_404(BusinessType, id=businesstype_id) - + if request.method == 'POST': businesstype.name = request.POST.get('name') businesstype.save() @@ -400,7 +400,7 @@ def edit_business_type(request, businesstype_id): @staff_login_required def edit_reference(request, reference_id): reference = get_object_or_404(Reference, id=reference_id) - + if request.method == 'POST': reference.name = request.POST.get('name') reference.date = request.POST.get('date') @@ -415,7 +415,7 @@ def edit_reference(request, reference_id): @staff_login_required def edit_tag(request, tag_id): tag = get_object_or_404(Tag, id=tag_id) - + if request.method == 'POST': tag.name = request.POST.get('name') tag.save() @@ -436,7 +436,7 @@ def edit_ticket_status_modal(request, ticket_id): added_by = request.user ) ticket_status.save() - return redirect('ticketroom', ticket_number=ticket.ticket_number) + return redirect('ticketroom', ticket_number=ticket.ticket_number) context = { 'ticket': ticket, } @@ -461,15 +461,15 @@ def mark_point_working_on(request, point_id, task_id): if task.status != 'Working On': task.status = 'Working On' - task.status_date = timezone.now() + task.status_date = timezone.now() task.save() - + if PointActivity.objects.filter(point=point).count() == 1: status_text = f'Started Working On: {point.text}' status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() - else: + else: status_text = f'Resumed Working On: {point.text}' status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() @@ -496,22 +496,22 @@ def mark_point_working_on_task_page(request, point_id, task_id): start_time = timezone.now(), ) activity.save() - + if task.status != 'Working On': task.status = 'Working On' - task.status_date = timezone.now() + task.status_date = timezone.now() task.save() if PointActivity.objects.filter(point=point).count() == 1: status_text = f'Started Working On: {point.text}' status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() - else: + else: status_text = f'Resumed Working On: {point.text}' status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() - + return redirect('detailed-task', task_id=task.task_id) @@ -530,7 +530,7 @@ def mark_point_paused(request, point_id, task_id): if last_activity: last_activity.end_time = current_datetime last_activity.save() - + if not Point.objects.filter(task=task, status='Working On').exists(): task.status = 'Open' task.status_date = timezone.now() @@ -566,7 +566,7 @@ def mark_point_paused_task_page(request, point_id, task_id): task.status = 'Open' task.status_date = timezone.now() task.save() - + status_text = f'{point.text} - Paused' status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() @@ -598,7 +598,7 @@ def mark_point_completed(request, point_id, task_id): total_time_hours, total_time_minutes, total_time_seconds = point.total_activity_time() - + formatted_time = "" if total_time_hours > 0: formatted_time += f"{total_time_hours}{'hr' if total_time_hours == 1 else 'hrs'}" @@ -613,7 +613,7 @@ def mark_point_completed(request, point_id, task_id): status = Status(text=status_text, date_time=timezone.now(), staff=request.user.staffprofile, type='Task', type_id=point.task.id) status.save() - + task_id_str = task.task_id showpoints_url = reverse('showpoints', args=[task_id_str]) @@ -644,7 +644,7 @@ def mark_point_completed_task_page(request, point_id, task_id): task.save() total_time_hours, total_time_minutes, total_time_seconds = point.total_activity_time() - + formatted_time = "" if total_time_hours > 0: formatted_time += f"{total_time_hours}{'hr' if total_time_hours == 1 else 'hrs'}" @@ -697,3 +697,61 @@ def edit_addressbook(request, addressbook_id): "groups": groups, }) +@staff_login_required +def edit_prospecting_list(request, list_id): + prospecting_list = get_object_or_404(ProspectingList, id=list_id) + addresses = AddressBook.objects.all().order_by('first_name') + list_items = prospecting_list.prospectinglistitem_set.all() + + if request.method == 'POST': + prospecting_list.name = request.POST.get('name') + prospecting_list.description = request.POST.get('description') + prospecting_list.save() + # --- Update existing items --- + existing_ids = request.POST.getlist('list_item_id[]') + for id in existing_ids: + try: + item = ProspectingListItem.objects.get(id=id, prospecting_list=prospecting_list) + # Checkbox will only be present in POST if checked. + item.attention = True if request.POST.get(f'attention_existing_{id}') == 'on' else False + item.save() + except ProspectingListItem.DoesNotExist: + pass + + # --- Add new inline item if provided --- + new_addressbook = request.POST.get('new_addressbook') + # Only process if user selected a value (it may be empty if no new item is desired) + if new_addressbook: + if new_addressbook == 'new': + # Create new AddressBook entry from inline form fields. + new_first_name = request.POST.get('new_first_name') + new_last_name = request.POST.get('new_last_name') + if new_first_name and new_last_name: + addressbook = AddressBook.objects.create( + first_name=new_first_name, + last_name=new_last_name + ) + else: + addressbook = None # Or handle errors as needed. + else: + try: + addressbook = AddressBook.objects.get(id=new_addressbook) + except AddressBook.DoesNotExist: + addressbook = None + + if addressbook: + new_attention = True if request.POST.get('new_attention') == 'on' else False + ProspectingListItem.objects.create( + prospecting_list=prospecting_list, + addressbook=addressbook, + attention=new_attention + ) + + return redirect('editprospecting-list', list_id=prospecting_list.id) + + context = { + "list": prospecting_list, + "addresses": addresses, + "list_items": list_items, + } + return render(request, 'edit_templates/edit-prospecting-list.html', context) diff --git a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-313.pyc index 4b30e9f824073f988dc3b6fb405b1dbbb762011e..57d99ccbaaab0338c4acb5dba8640dd4d950be47 100644 GIT binary patch delta 64 zcmZ1|Ghc@LGcPX}0}!~DeA~#a$fcH~A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;cdFEHeO&i51`g delta 66 zcmbO)vrvZnGcPX}0}wb^Ufjs7$fc2@A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|vdr_AAGcPX}0}wb^Ufjr?!=*7*KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TTrMLP0M@@2%m4rY diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-313.pyc index 11ae87473582705c5336037fc44cbaa74f34ce85..fb2b7f78422817c06d80235bfc9d6035b5b74fd7 100644 GIT binary patch delta 64 zcmaFG{eqkOGcPX}0}!~DeA~z^&Z3s0A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j0m0V4pWAr=Dw delta 66 zcmaFC{fe9WGcPX}0}wb^Ufjqn&Z3c~A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|!nn4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-TaMt5+eYYhZczd delta 66 zcmZqU?%?MB%*)Hg00a(}7dLVrX4c5i4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-g?SPq0I|;&<^TWy diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-313.pyc index a0d2dde453702bcdf114bf342836bbe472842670..8f6db3659a6f3411c047f827d4c0cb150f2127a5 100644 GIT binary patch delta 64 zcmdnZwv&zfGcPX}0}!~DeA~$VpHZz)KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+Zu@CnEs1R~6g< delta 66 zcmdnVwwsOnGcPX}0}wb^Ufjt2pHZV&KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o0TU-90MX$VIRF3v diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-313.pyc index 97b261bb46d67a6a8481d5f0b52c0a2bde88cf24..30a276a70af6630be511dd8544ab4118ac43dabf 100644 GIT binary patch delta 64 zcmeC+ZsX?u%*)Hg00gcj-!^jZVphx54=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-Tan$HX{I+1Qv$? delta 66 zcmZqU?%?MB%*)Hg00a(}7dLY6V%Esl4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-nt3)O0I^6G}%0L%RrnE(I) diff --git a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-313.pyc index e913214cd8f817cc8f4eb433a73c9dcebdf6fcb9..3966f8122158738119ec05c8d79367791cfdf403 100644 GIT binary patch delta 64 zcmZo?Z)NBH%*)Hg00gcj-!^i4F{!2LhZd(673-(wX6B@(=Hz5nrs})oCzs}?=9Lud SC+DZ6CM6c9ZmwnGVgvwuHx&Z_ delta 66 zcmZo=Z)fNJ%*)Hg00a(}7dLWyF==GzhZd(673&u#=49rk=Hz5nrs})oCzs}?=9Lud Uhvye%>*p6|<|S^fX5wN50F`$YU;qFB diff --git a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-313.pyc index ca0c24483aa04b05c9565a974aba22cea0d6c40b..940d82e940ee99a163d8af0cee37855d6e44821c 100644 GIT binary patch delta 64 zcmdnUzMh@?GcPX}0}!~DeA~$Fz@*lqA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1AIiju8NqVHK4C delta 66 zcmZ3_zLA~#GcPX}0}wb^Ufjs-z@*WpA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|TyA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19Urg9!k%4;9w{ delta 66 zcmeyy_k)l7GcPX}0}wb^UfjrS%c_y6A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|J<Txt4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-7LnO&j^k*3U1_%uC!X!ko_t0JPW^3;+NC diff --git a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-313.pyc index 9efa7c7f2ae8c4378692dcbcb95150d1e6476c83..632aaddd47cad373ecbf4b1010793b3345120729 100644 GIT binary patch delta 64 zcmdnZv6F-QGcPX}0}!~DeA~#qhe<70KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@O{BA4UMKKo*(+ delta 66 zcmdnVv73YYGcPX}0}wb^UfjsNhe;z}KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TTP7by0Lexc_W%F@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-313.pyc index 19100c3a1984281906753d7bf98f4ca8cd373fe9..24e53b9cd6dd454f508d6611afc264b267550b30 100644 GIT binary patch delta 63 zcmcc4dX<&?GcPX}0}!~DeA~#qj!~^xKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t RKRG`oH7T(;b@D^TZvdho7d-#~ delta 65 zcmcc0dYzT~GcPX}0}wb^UfjsNj!~mjKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%Sea3G9y&D&r diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-313.pyc index c15da603d699f309b5dcb52308fbe9c07c4255a0..bed6a897c09a39b4e47b53167da4c4349028d5ba 100644 GIT binary patch delta 64 zcmdnPwu_DXGcPX}0}!~DeA~#)!lah3A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4jqGl@S1mo)qH% delta 66 zcmdnRwug=TGcPX}0}wb^Ufjsd!lY5CA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|J;|? delta 66 zcmX@Wc8HDpGcPX}0}wb^Ufjsd#H3NGA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;bu%~1WJUm?coo|K delta 66 zcmbQkJ&&9FGcPX}0}wb^UfjrigIOam@PA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;dVCA|n8>M;1N+ delta 66 zcmaFI`GJ%BGcPX}0}wb^Ufjs7!>rMuA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|h(-s&R diff --git a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-313.pyc index fd5f96edff6338e77059456a027db60b1350801d..270594daed7eb27f830c59a1dc01250dc2cef86e 100644 GIT binary patch delta 64 zcmZ3*v4Vs9GcPX}0}!~DeA~#qj!CUdKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@M|ePeuTwqZVQS delta 66 zcmZ3%v5JHHGcPX}0}wb^UfjsNj!C0JKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TeI`#v0KZ!nzW@LL diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-313.pyc index 1542dde2348455329acd50f7d661dff8035e67de..0869b078a6c534d8c67aca56391dd0c534c53486 100644 GIT binary patch delta 64 zcmX@iagc-iGcPX}0}!~DeA~#qgGsGMKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@OYc2u1+31s1&k delta 66 zcmX@eahQYqGcPX}0}wb^UfjsNgGr-KKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TOQr}$0M9`e8UO$Q diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-313.pyc index 5fd7f273da092be549e5c2407f519f5fce122bac..be63b6a40aaeacdf8920427797dd478a120422ed 100644 GIT binary patch delta 64 zcmaFF_JEE1GcPX}0}!~DeA~#a!lYK9A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;dPQn-Kt_$rW}0 delta 66 zcmaFB_K1!9GcPX}0}wb^Ufjs7!lY58A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|2 delta 66 zcmdnVy_=i+GcPX}0}wb^Ufjt2kXa)`KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o5X*8#0L}Uqo&W#< diff --git a/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-313.pyc index f7de7cd64ed9210471a1a452d8dca66f8a632786..b648f88ed55fad8aec390eec7b576cd1ccaae736 100644 GIT binary patch delta 64 zcmeC;?BL}7%*)Hg00gcj-!^jZVp40+4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-TanmE+YV%4HlXJ delta 66 zcmeC+?BeA9%*)Hg00a(}7dLY6V$x{R4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-nrSX00JL=$_W%F@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-313.pyc index c58a5e41d23a59ca0ba6777183989d7486455a45..502fcf3e37fec6b52b7c98912e05ef1c005a7d00 100644 GIT binary patch delta 64 zcmcb{eubU;GcPX}0}!~DeA~#~%%qmCA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_KLu0wVyfk`^ie delta 66 zcmcb@evO^`GcPX}0}wb^Ufjst%%qX2A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|F delta 65 zcmcb~dYhH|GcPX}0}wb^UfjsNmQkZhKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%SJ;vVvzseV? diff --git a/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-313.pyc index 2c10d7207805f50b1d58e95ee093303109ae2ac3..ab3a2c2865de4e4994d1ed300738d438b3492867 100644 GIT binary patch delta 64 zcmZ3$F^_}$GcPX}0}!~DeA~#ql1VK?KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@Lr27e)Y_Sr#z> delta 66 zcmbQov4Dg7GcPX}0}wb^UfjsNl1U>=KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TEhZO60Jg&xjsO4v diff --git a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-313.pyc index 39ec715203ccae2bd205284cd226037ceb5affad..765a1b3b29330a7e952321ee42f688480e7ebc70 100644 GIT binary patch delta 64 zcmbQkF^hxyGcPX}0}!~DeA~#qh)FG5KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@NpwcSZo2iWVUN delta 66 zcmbQmF^7ZuGcPX}0}wb^UfjsNh)E+?KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TWhQq<0JGc{egFUf diff --git a/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-313.pyc index 98a69118a31e2eec34962258f3038c95e542bfd6..bccf4c8e1ec24243c4cf3577cffc93caca5b7cca 100644 GIT binary patch delta 64 zcmdnXzMGx^k*3U1_%uC#SmdS<@0I4_@K>z>% diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-313.pyc index c51445eaef971cf48f34b23aed2278c70ff8578b..cc4af8dca9e62580608eddbd1439217e75facbcb 100644 GIT binary patch delta 64 zcmbQoHHVA)GcPX}0}!~DeA~#K!>pE}A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_LfxJtF{-5f$_R delta 66 zcmbQkHIIw?GcPX}0}wb^Ufjr?!>o~|A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|gK0Rg^U2eLKg=B delta 66 zcmcb@agBrfGcPX}0}wb^UfjsNiAiIserR!OQL%n;VoqjmYEDjOWvaeQesXDUYFpF diff --git a/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-313.pyc index 3c042da3ccda44fb043284f6153aa1a2ad4222c1..f8284ba0d16bd859338233dc94a552bcb70ee66b 100644 GIT binary patch delta 64 zcmZ3=zL=f+GcPX}0}!~DeA~$F$fVY&A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay19hOkP!fm5EX9# delta 66 zcmZ3?zLcH&GcPX}0}wb^Ufjs-$fVJ%A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|<{9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-313.pyc index 4d63827f2752647754e60185fae35c428ce7e231..27667716ca821431f9f3de2cc0e23184658920a2 100644 GIT binary patch delta 64 zcmX@jc9MBIH delta 66 zcmZ3%wu+7WGcPX}0}wb^Ufjt2kx`>aKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o5)&IE0LC;G_W%F@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-313.pyc index c7539ee78cccab5159e5542d2314806bb6315d46..2c107a6f77085b48a5732a0c0f18eb43d55a34fa 100644 GIT binary patch delta 64 zcmX@ibC8GoGcPX}0}!~DeA~$F!=jd~A6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1Aa^2qOTU;ub^z delta 66 zcmX@ebC`$wGcPX}0}wb^Ufjs-!=jO@A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|dKeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b+Zn09U}m<OV diff --git a/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-313.pyc index fd87924eb57fcf956bf2b45788d0e1577803866c..066b721a581834c739e3b82531d9592bc6e7ed3e 100644 GIT binary patch delta 64 zcmdnRv4eyAGcPX}0}!~DeA~!=cg0Lgk5fdBvi diff --git a/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-313.pyc index b11868717645256e029396cc9db2034750f39598..1b004a36dfa0b077a8dbcd43b5357b9e8eebbfb3 100644 GIT binary patch delta 64 zcmcb{dxe+#GcPX}0}!~DeA~#qkwtBSerR!OQL%n%Ze~tuYEDjOWvaeQesXDUYFgFdbpBMqdT^Er6 delta 66 zcmcb@dySX-GcPX}0}wb^UfjsNkws&YerR!OQL%n;VoqjmYEDjOWvaeQesXDUYF)GA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1A3Bp9uhw5*70R delta 66 zcmbOxG((8{GcPX}0}wb^UfjqX#->rFA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|NGcPX}0}wb^UfjrS%&yU?A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|GcPX}0}!~DeA~#K#iUlKA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_K^>IwJt0kQL4wA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax|yAcixB{vcojwf delta 66 zcmeBYo5;rfnU|M~0SFu{FK*<%!l==vA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|=!ox delta 66 zcmdnTdw`ewGcPX}0}wb^Ufjq%hee}bKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TS(cBC0M8y5lmGw# diff --git a/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-313.pyc index 10352dc7dc0f2a429117b522ae9b427d2106fe3a..651d9adccd24115d3d7271d942d348e9b26d8362 100644 GIT binary patch delta 64 zcmX@beuAC*GcPX}0}!~DeA~!f%cNGSA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax_JYW6e9qs%oYv+ delta 66 zcmX@Xeu|y@GcPX}0}wb^UfjrC%cN1RA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|G delta 66 zcmZ3os0JWzUBLDyZ diff --git a/osinaweb/osinacore/migrations/__pycache__/0085_rename_date_staffposition_start_date_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0085_rename_date_staffposition_start_date_and_more.cpython-313.pyc index 7fbe7eb62c6f2307513125ca93cb2cc52f29da2f..65b7700c45b9cc8d5d06c6b2a8263f0ed1901525 100644 GIT binary patch delta 64 zcmX@ceuSO-GcPX}0}!~DeA~z!#iZ7uA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay1AFhk`Vx;Z58qW delta 66 zcmX@YevF;_GcPX}0}wb^UfjqX#iY@tA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|z delta 66 zcmcb}ewm&7GcPX}0}wb^Ufjr?%B0b!A6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|t*Bq%*)Hg00gcj-!^hzVpMC<4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-OS3w#RveK7!^JM delta 66 zcmeBW>u2Ns%*)Hg00a(}7dLWWV$^8U4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$N%*4eA0JXjqn*aa+ diff --git a/osinaweb/osinacore/migrations/__pycache__/0091_alter_connection_user.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0091_alter_connection_user.cpython-313.pyc index fe211ccb3c7eaf7fbf94a0e8022bac70212d0969..6807da98a31e6ee5268f0a8da34e8960d555b73b 100644 GIT binary patch delta 64 zcmX@id61L)GcPX}0}!~DeA~#az^qoFA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ax;dD+fDr(dEft*r delta 66 zcmX@ed6<*?GcPX}0}wb^Ufjs7z^qZEA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|n0Iw$%`Tzg` diff --git a/osinaweb/osinacore/migrations/__pycache__/0092_rename_connected_connection_online.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0092_rename_connected_connection_online.cpython-313.pyc index efcaee81a60e47a0c9cc87ac0ce3a3c34abf43bc..1626bb4d8c38f76063496eeb7e482702cdcdd7c4 100644 GIT binary patch delta 64 zcmZo-YhdI4%*)Hg00gcj-!^ieVN|Qt4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-Ta@CnGpb%NEQhI delta 66 zcmZo*YhvU6%*)Hg00a(}7dLXBVbrMC4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$-mywwf0I;AIW&i*H diff --git a/osinaweb/osinacore/migrations/__pycache__/0093_connection_disconnected.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0093_connection_disconnected.cpython-313.pyc index 5e04a5638881e05628f4450c4ceb0f322813208d..72ebd75a5f9c0fb7a2b594837b503fc519db07b7 100644 GIT binary patch delta 64 zcmX@hcAAa*GcPX}0}!~DeA~z^$fQ=JA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4i(^lMw)w4;3Z= delta 66 zcmX@jc9xC%GcPX}0}wb^Ufjqn$fQxCA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|k diff --git a/osinaweb/osinacore/migrations/__pycache__/0094_customuser.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0094_customuser.cpython-313.pyc index 68eea3dcbddff153530734e420ff25f43854e20b..09075658062fbff78ec5835aa50941a64bb08ce1 100644 GIT binary patch delta 64 zcmX@cafE~WGcPX}0}!~DeA~!x}KH$GcPX}0}wb^Ufjq%fl(t*KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t TKRmxETR*=zGcR%SLB=-#q5&5D diff --git a/osinaweb/osinacore/migrations/__pycache__/0096_status_date_time.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0096_status_date_time.cpython-313.pyc index c1fd8d02fabcac9ad7b262de4c00531b488584c9..5812a81c288352cc4d1c6ca84d54ca128bb47b5a 100644 GIT binary patch delta 63 zcmdnSwuO!RGcPX}0}!~Dd|SxPq?WB8TAW%`te={jnUk8DlapDQs_&AYT$-DjS5mB> RoS%}Klvtd)*_er$5deKY6uAHZ delta 65 zcmdnOwvCPZGcPX}0}wb^UR=n{q>-y1TAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW To?n!$pI@Arm$=!GiJ1`qmhlx9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0097_remove_status_date_remove_status_time.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0097_remove_status_date_remove_status_time.cpython-313.pyc index 661c59dcac6df30678c723b6bd848fa9a6a790f8..5538c484e76118df7eed6353fd73cdf066e06c2d 100644 GIT binary patch delta 64 zcmbQiHjRz@GcPX}0}!~DeA~!l-y4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ SPtH$CO-d|I-OR?s%m@IN8xty5p%*)Hg00a(}7dLWWX4I(H4=qkDD%LMf%*o76&B@8EOx1VEPcF?(%_}L^ U56>^k*3U1_%uC$N!ok diff --git a/osinaweb/osinacore/migrations/__pycache__/0102_remove_projectfile_date_added_and_more.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0102_remove_projectfile_date_added_and_more.cpython-313.pyc index 8a04664f4611492f8d38762caef64a4d65e76406..0be14d41f622f2236e5db4dca53029b06775ab20 100644 GIT binary patch delta 64 zcmZ3)y?~qhGcPX}0}!~DeA~#qmszb*KeRZts8~NWH!~+SH76&tGF9ItKe;qFHLs*t SKRG`oH7T(;b@K=2O^g7i@D}U< delta 66 zcmZ3$y@;FpGcPX}0}wb^UfjsNmsz7(KeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TJLXM{0K&=_NdN!< diff --git a/osinaweb/osinacore/migrations/__pycache__/0103_alter_projectfilealbum_date_added.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0103_alter_projectfilealbum_date_added.cpython-313.pyc index 90db64687e37032e5387f0153e9dafb13d5fae6d..98ed54a72bb42eea50cc9cf16adac9d7c55c6012 100644 GIT binary patch delta 64 zcmcb{c7=`mGcPX}0}!~DeA~z^#H3cEA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4jUUkP!fzZ52!a delta 66 zcmcb@c8!huGcPX}0}wb^Ufjqn#H3NDA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|@~ diff --git a/osinaweb/osinacore/migrations/__pycache__/0104_projectfilealbum_file.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0104_projectfilealbum_file.cpython-313.pyc index caf32d1a9c97d87a582915d1e2520b481e8a051e..2d12864310bd76a4218e21a49bd482aeadaa164a 100644 GIT binary patch delta 64 zcmcc2c9D(yGcPX}0}!~DeA~z^&ZJhLA6lGRRIHzxo0*fEnv;`RnX2!SpIn-onpaY+ SpPZkPnv__ay4j0~lMw)z*%dqh delta 66 zcmcb}cA1U)GcPX}0}wb^Ufjqn&ZJSKA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|w-z!0 delta 66 zcmeyz-yp#KnU|M~0SFu{FK*;^W7U|UA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|15g delta 66 zcmeyy_JfW4GcPX}0}wb^UfjrS&7@JRA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ UAD&;7t)E|tf^n%*)Hg00gcj-!^jJVN@&A4=qkDD%MZU&CE$n&B@8EOx1VEPcF?(%_}L^ RPtH$CO-d|Ioy^bl7XXB977zdc delta 65 zcmeBT>tW;m%*)Hg00a}PK5pc`!>CcAA6lGRRIFc|n3I{Cnv;`RnX2!SpIn-onpaY+ TAD&;7t)E|{J4>un@OWeKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR$o4HF+D0MsuQH~;_u diff --git a/osinaweb/osinacore/migrations/__pycache__/0116_remove_projectstatus_default_created.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/0116_remove_projectstatus_default_created.cpython-313.pyc index ed8a8756b6ff713c8ed2ec459d066a2cbe27eb9d..71cc4ec00ba59745fd6df0794c246d5508cced84 100644 GIT binary patch delta 64 zcmeyx`h%7GGcPX}0}!~DeA~!lu@HmKeRZts93)^F()%OH76&tGF9ItKe;qFHLs*t UKRmxETR*=zGcR%TH%2B#0PVdOQ2+n{ diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-313.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-313.pyc index a0bc7027b67ab2c162e1cc9a1042fb88b9df3eb6..88768b9f9305d5c9298ac7ac8232e9a7e6680773 100644 GIT binary patch delta 61 zcmX@exSx^xGcPX}0}!~De4EH^tQMyqTAW%`te={jnUk8DlapDQs_&AYT$-DjS5mB> PoS%}KlvtcPF)bPZT2>W5 delta 63 zcmdnbc#x6%GcPX}0}wb^UYy8ntdXD}TAW%`tY4g%lbM^ElapDQs_&AYT$-DjS5mAW Ro?n!$pI@ArmpCyc8US;T6`TM7 diff --git a/osinaweb/osinacore/templates/add_templates/add-prospecting-list.html b/osinaweb/osinacore/templates/add_templates/add-prospecting-list.html new file mode 100644 index 00000000..bcd02546 --- /dev/null +++ b/osinaweb/osinacore/templates/add_templates/add-prospecting-list.html @@ -0,0 +1,71 @@ +{% extends "main.html" %} +{%load static%} +{% block content %} + +
+
+

+ Add Prospecting List +

+ +
+ {% csrf_token %} +
+ +
+ + +
+
+ + +
+ + + + + +
+ +
+
+
+
+
+ + + + + + + +{% endblock content %} \ No newline at end of file diff --git a/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html b/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html index 4490aaf4..60202df7 100644 --- a/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html +++ b/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html @@ -10,8 +10,7 @@
{% csrf_token %} -
- +
+
+

+ Edit Prospecting List +

+ + + + {% csrf_token %} +
+
+ + +
+ +
+ + +
+
+ + + + + + + + + + + {% for item in list_items %} + + + + + {% empty %} + + + + {% endfor %} + + + + + + + +
ContactAttention
+ {{ item.addressbook.first_name }} {{ item.addressbook.last_name }} + + + + +
+ No contacts yet. +
+ + + + + + +
+ +
+
+
+ +
+
+ +
+
+ + + +{% endblock content %} diff --git a/osinaweb/osinacore/templates/listing_pages/prospecting-lists.html b/osinaweb/osinacore/templates/listing_pages/prospecting-lists.html new file mode 100644 index 00000000..7947efb3 --- /dev/null +++ b/osinaweb/osinacore/templates/listing_pages/prospecting-lists.html @@ -0,0 +1,122 @@ +{% extends "main.html" %} +{%load static%} +{% block title %}My Projects{% endblock %} +{% block content %} + + +
+
+

Prospecting Lists

+ + +
+ + +
+ + + + + + + + + + + + + + + + {% for list in lists %} + + + + + + + + + + + + {% endfor %} + +
+ Name + + Description + + Date Added + + Items + + Actions +
+
+ +

{{ list.name }}

+
+
+

{{list.description}}

+
+

{{list.date_added}}

+
+

{{ list.prospectinglistitem_set.all|length }}

+
+ +
+
+
+
+ + +{% endblock content %} \ No newline at end of file diff --git a/osinaweb/osinacore/templates/main.html b/osinaweb/osinacore/templates/main.html index 0944eca0..c9c9b1de 100644 --- a/osinaweb/osinacore/templates/main.html +++ b/osinaweb/osinacore/templates/main.html @@ -498,7 +498,7 @@