Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved Installation Screens into core #1523

Merged
merged 4 commits into from
Feb 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Changelog

**Added**

- #1523 Moved Installation Screens into core
- #1520 JavaScripts/CSS Integration and Cleanup
- #1517 Integrate senaite.core.spotlight
- #1516 Consider analyses with result options or string in duplicate valid range
Expand All @@ -33,7 +34,7 @@ Changelog
- #1502 Improved DateTime Widget
- #1490 Support Dexterity Behavior Fields in API
- #1488 Support Dexterity Contents in Catalog Indexers
- #1486 Clean-up of indexes and metadata from `setup_catalog`
- #1486 Clean-up of indexes and metadata from `setup_catalog

**Removed**

Expand Down
68 changes: 34 additions & 34 deletions bika/lims/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@

<i18n:registerTranslations directory="locales" />

<includeDependencies package="." />
// <include package="jarn.jsi18n" />
// <include package="plone.app.z3cform" />
// <include package="Products.TinyMCE" />
// <include package="Products.CMFCore" />
// <include package="collective.monkeypatcher" />
<includeDependencies package="." />

<five:registerPackage package="." initialize=".initialize" />

Expand All @@ -30,6 +25,7 @@
<include package=".content" />
<include package=".controlpanel" />
<include package=".exportimport" />
<include package=".install" />
<include package=".interfaces" />
<include package=".jsonapi" />
<include package=".locales" />
Expand Down Expand Up @@ -60,35 +56,38 @@

<!-- jquery redirects here when values are entered into 'document' context (barcodes) -->
<browser:page
for="*"
name="barcode_entry"
class="bika.lims.barcode.barcode_entry"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Put javascript errors in Plone log -->
for="*"
name="barcode_entry"
class="bika.lims.barcode.barcode_entry"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- XXX: to be removed
Put javascript errors in Plone log -->
<browser:page
for="*"
name="js_log"
class="bika.lims.utils.js_log"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:page
for="*"
name="js_log"
class="bika.lims.utils.js_log"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>
<browser:page
for="*"
name="js_warn"
class="bika.lims.utils.js_warn"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="*"
name="js_warn"
class="bika.lims.utils.js_warn"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:page
for="*"
name="js_err"
class="bika.lims.utils.js_err"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="*"
name="js_err"
class="bika.lims.utils.js_err"
permission="zope.Public"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<browser:resource
file="skins/bika/senaite-core-logo.png"
Expand All @@ -103,5 +102,6 @@
<utility
provides="bika.lims.interfaces.INumberGenerator"
factory=".numbergenerator.NumberGenerator"
/>
/>

</configure>
Empty file added bika/lims/install/__init__.py
Empty file.
16 changes: 16 additions & 0 deletions bika/lims/install/adapters.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-

from zope.component import queryMultiAdapter
from zope.interface import Interface
from ZPublisher.BaseRequest import DefaultPublishTraverse


class SenaiteAppTraverser(DefaultPublishTraverse):
def publishTraverse(self, request, name):
if name == "index_html":
view = queryMultiAdapter(
(self.context, request),
Interface, "senaite-overview")
if view is not None:
return view
return DefaultPublishTraverse.publishTraverse(self, request, name)
48 changes: 48 additions & 0 deletions bika/lims/install/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:plone="http://namespaces.plone.org/plone"
i18n_domain="senaite.core">

<include package="plone.app.controlpanel" file="permissions.zcml" />

<!-- SENAITE install screen -->
<browser:page
for="OFS.interfaces.IApplication"
name="senaite-addsite"
class="Products.CMFPlone.browser.admin.AddPloneSite"
permission="zope2.ViewManagementScreens"
template="templates/senaite-addsite.pt"/>

<!-- ZOPE root overview screen -->
<browser:page
for="OFS.interfaces.IApplication"
name="senaite-overview"
class="Products.CMFPlone.browser.admin.Overview"
permission="zope.Public"
template="templates/senaite-overview.pt"/>

<!-- App traverser to show the overview screen -->
<adapter
for="OFS.interfaces.IApplication
zope.publisher.interfaces.browser.IBrowserRequest"
factory=".adapters.SenaiteAppTraverser"/>

<!-- browser resources used in templates -->
<browser:resource
file="../browser/bootstrap/static/css/bootstrap.min.css"
name="bootstrap.min.css"/>

<browser:resource
file="images/logo.png"
name="senaite-logo.png"/>

<browser:resource
file="images/icon.png"
name="senaite-icon.png"/>

<browser:resource
file="images/favicon.ico"
name="favicon.ico"/>

</configure>
Binary file added bika/lims/install/images/favicon.ico
Binary file not shown.
Binary file added bika/lims/install/images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bika/lims/install/images/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
138 changes: 138 additions & 0 deletions bika/lims/install/templates/senaite-addsite.pt
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
lang="en"
i18n:domain="senaite.lims">

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title i18n:translate="">Install SENAITE LIMS</title>
<link rel="stylesheet" type="text/css"
tal:attributes="href string:${context/absolute_url}/++resource++bootstrap.min.css"
href="bootstrap.min.css" />
<link href="favicon.ico" rel="icon" type="image/x-icon"
tal:attributes="href string:${context/absolute_url}/++resource++favicon.ico"/>
</head>
<body>

<div class="container">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<h1>
<!-- SENAITE LOGO -->
<img src="senaite-logo.png"
width="250"
tal:attributes="src string:${context/absolute_url}/++resource++senaite-logo.png" />
<small class="lead">Open Source LIMS Project</small>
</h1>
<hr/>

<!-- SENAITE install form -->
<div class="row">
<div class="col-sm-12">
<form class="form"
action="/"
method="post"
tal:attributes="action string:${context/absolute_url}/@@senaite-addsite"
tal:define="profiles view/profiles;
base_profiles profiles/base;
default_profile profiles/default;
extension_profiles profiles/extensions;
advanced request/advanced|nothing;">

<div class="form-group">
<label for="site_id" i18n:translate="">Path identifier</label>
<input class="form-control" type="text" name="site_id" id="site_id"
tal:attributes="value request/site_id|nothing" />
<div class="help-block" i18n:translate="">
The id of the site. This ends up as part of the URL.<br />
No special characters are allowed.
</div>
</div>

<div class="form-group">
<label for="title" i18n:translate="label_title">Title</label>
<input class="form-control" type="text" name="title" value="SENAITE" />
<div class="help-block" i18n:translate="">
A short title for the site. This will be shown in the title of the
browser window on each page.
</div>
</div>

<div class="form-group">
<label for="default_language" i18n:translate="">Language</label>
<select class="form-control"
name="default_language"
tal:define="browser_language view/browser_language;
languages python:view.languages(browser_language)">
<option value="en"
tal:repeat="lang languages"
tal:attributes="value python:lang[0];
selected python:lang[0]==browser_language"
tal:content="python: lang[1]">
English
</option>
</select>
<div class="help-block" i18n:translate="">
The main language of the site.
</div>

</div>

<tal:extensionprofiles condition="extension_profiles">
<tal:addons tal:repeat="info extension_profiles">
<tal:info tal:define="selected info/selected|nothing">
<tal:normal tal:condition="python: not selected or advanced">
<input type="checkbox" name="extension_ids:list" value=""
style="display:none;"
tal:attributes="value info/id;
id info/id;
checked info/selected|nothing;" />
</tal:normal>
<tal:hidden tal:condition="python: selected and not advanced">
<input type="hidden" name="extension_ids:list" value=""
tal:attributes="value info/id;
checked info/selected|nothing;" />
</tal:hidden>
</tal:info>
</tal:addons>
</tal:extensionprofiles>

<div>
<input type="hidden" name="extension_ids:list" value="senaite.lims:default" />
<input type="hidden" name="form.submitted:boolean" value="True" />
<input class="btn btn-primary btn-xl" type="submit" name="submit" value="Install SENAITE LIMS"
i18n:attributes="value;" />
</div>

</form>
</div>
</div>

<!-- Community Links -->
<div class="row">
<div class="col-sm-12">
<hr/>
<div i18n:translate="" class="lead">
Meet the community, browse the code and get support on
</div>
<ul class="list list-inline list-justified">
<li><a class="btn btn-default" href="https://www.senaite.com" title="Website" target="_blank">Website</a></li>
<li><a class="btn btn-default" href="https://community.senaite.com" title="SENAITE community" target="_blank">Community Site</a></li>
<li><a class="btn btn-default" href="https://gitter.im/senaite/Lobby" title="Gitter Chat" target="_blank">Gitter Chat</a></li>
<li><a class="btn btn-default" href="https://github.com/senaite" title="GitHub" target="_blank">GitHub</a></li>
<li><a class="btn btn-default" href="https://twitter.com/senaitelims" title="Twitter" target="_blank">Twitter</a></li>
</ul>
</div>
</div>

</div> <!-- col-sm-6 col-sm-offset-3 -->
</div> <!-- /row -->
</div> <!-- /container -->

</body>
</html>
Loading